当前位置: 首页 > news >正文

温岭网站设计商务平台

温岭网站设计,商务平台,wordpress 不同page,server 2008 r2搭建网站目录 一、多任务 1.1定义 1.2具体体现 1.3并发和并行 1.3.1并发操作 1.3.2并行操作 1.3.3对比 二、进程 2.1概念 2.2特点 2.3进程状态 2.4多进程 2.5多进程实现 2.6进程锁 三、线程 3.1概念 3.2特点 3.3适用场景 3.4多线程实现 四、对比 4.1关系对⽐ 4.2区…

目录

一、多任务

1.1定义

1.2具体体现

1.3并发和并行

1.3.1并发操作

1.3.2并行操作

1.3.3对比

二、进程

2.1概念

2.2特点

2.3进程状态

2.4多进程

2.5多进程实现

2.6进程锁

三、线程

3.1概念

3.2特点

3.3适用场景

3.4多线程实现

四、对比

4.1关系对⽐

4.2区别对⽐

4.3优缺点


一、多任务

1.1定义

多任务是指在同⼀时间内执行多个任务

1.2具体体现

多核处理器:真正并行执行多个任务,每个核心处理不同进程

CPU时间片轮转:操作系统快速切换执行不同程序,给用户同时运行多个程序的感觉

文档编辑器实时保存文件同时进行拼写检查

浏览器同时加载多个网页标签

1.3并发和并行

多任务的两种表现形式:并发和并行

1.3.1并发操作

指多个任务在同一时间段内交替执行,通过任务切换实现同时处理多个任务的效果。在单核CPU上也可以实现并发。

1.3.2并行操作

指多个任务真正同时执行,需要多个处理单元(如多核CPU)来实现,每个任务在不同的处理单元上同时运行。

1.3.3对比

二、进程

2.1概念

是计算机中正在运行的程序的一个实例,是操作系统进行资源分配和调度的基本单位。

2.2特点


独立性:每个进程都有独立的内存空间和系统资源
动态性:进程是程序的一次执行过程,具有生命周期
并发性:多个进程可以同时存在于系统中并并发执行
异步性:进程按各自独立的、不可预知的速度向前推进

2.3进程状态

2.4多进程

def fun_a():print('进行程序a')def fun_b():print('进行程序b')fun_a()
fun_b()

当我们需要执行上面代码中的两个任务进程的时候,同时进行可以大大增加效率

现在的进程执行顺序:

采用多进程:

2.5多进程实现

1.导入进程multiprocessing包

2.通过进程类创建进程对象:进程对象 = multiprocessing.Process()
3.启动进程执⾏任务:进程对象.start()

代码实现:

# 导⼊多进程模块,⽤于创建和管理进程
import multiprocessing
# 导⼊时间模块,⽤于实现计时功能
import time
def music():for i in range(3):print('听⾳乐...')time.sleep(0.2)
def coding():for i in range(3):print('敲代码...')time.sleep(0.2)
if __name__ == '__main__':# 创建⼀个进程,⽤于执⾏名为music的函数music_process = multiprocessing.Process(target=music)# 创建另⼀个进程,⽤于执⾏名为coding的函数coding_process = multiprocessing.Process(target=coding)# 启动music进程,使其开始执⾏music_process.start()# 启动coding进程,使其开始执⾏coding_process.start()

由于是交替执行,无序,所以控制台输出的时候可能并不像我们想要的结果那样一一交替运行,比如:

2.6进程锁

我们可以通过进程锁,来管理运行的权力,规定将运行的职权给一个功能后,进行堵塞,必须等待其运行完才能将运行的权利交给下一个功能

# 导⼊多进程模块,⽤于创建和管理进程
from multiprocessing import Process, Lock
# 导⼊时间模块,⽤于实现计时功能,导入进程锁,将程序运行进行阻塞
lock = Lock()
import time
def music():for i in range(3):with lock:print('正在播放音乐...')time.sleep(0.2)
def coding():for i in range(3):with lock:print('敲代码...')time.sleep(0.2)
if __name__ == '__main__':# 创建⼀个进程,⽤于执⾏名为music的函数music_process = Process(target=music)# 创建另⼀个进程,⽤于执⾏名为coding的函数coding_process = Process(target=coding)# 启动music进程,使其开始执⾏music_process.start()# 启动coding进程,使其开始执⾏coding_process.start()

此时多次运行测试发现,运行结果一致都是一一交替运行:

三、线程

3.1概念

线程(Thread)是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。一个进程可以包含多个线程,这些线程共享进程的内存空间和系统资源。 

3.2特点

1. 轻量级
--线程是比进程更小的执行单位
--创建和切换开销比进程小得多


2. 共享资源
--同一进程内的线程共享内存空间、文件句柄等资源
--线程间通信比进程间通信更高效


3. 独立执行
--每个线程有独立的执行路径
--拥有独立的栈空间和寄存器状态


4. 并发执行
--多个线程可以并发执行
--提高程序执行效率和响应性


5. 同步需求
--多线程访问共享资源时需要同步机制
--需要考虑线程安全问题
 

3.3适用场景

1. I/O密集型任务

文件读写、网络请求等I/O操作

当一个线程等待I/O时,其他线程可以继续执行

2. 并行计算

CPU多核环境下可实现真正的并行处理

大量独立计算任务的并行执行

3. 用户界面应用

提高UI响应性,避免界面卡顿

后台任务与UI线程分离

4. 服务器应用

处理多个客户端并发请求

Web服务器、数据库服务器等

5. 实时系统

需要同时处理多个实时任务的场景

定时任务、监控系统等

3.4多线程实现

# 导⼊time模块和threading模块
import time
import threading
# 定义⼀个播放⾳乐的函数
def music():# 循环三次,每次打印听⾳乐的状态并暂停0.2秒for i in range(3):print('听⾳乐...')time.sleep(0.2)
# 定义⼀个编码的函数
def coding():# 循环三次,每次打印敲代码的状态并暂停0.2秒for i in range(3):print('敲代码...')time.sleep(0.2)
# 程序⼊⼝
if __name__ == '__main__':# 创建⼀个线程,⽤于播放⾳乐。通过threading.Thread类创建线程,music函数作为线程# 要执⾏的⽬标。music_thread = threading.Thread(target=music)# 创建⼀个线程,⽤于编码⼯作。同样使⽤threading.Thread类创建,coding函数作为线# 程序要执⾏的⽬标。coding_thread = threading.Thread(target=coding)# 启动⾳乐线程和编码线程music_thread.start()coding_thread.start()# 等待⾳乐线程完成其任务music_thread.join()# 等待编码线程完成其任务coding_thread.join()print('程序结束')

四、对比

4.1关系对⽐

① 线程是依附在进程⾥⾯的,没有进程就没有线程。

② ⼀个进程默认提供⼀条线程,进程可以创建多个线程

4.2区别对⽐

① 进程之间不共享全局变量

② 线程之间共享全局变量

③ 创建进程的资源开销要⽐创建线程的资源开销要⼤

④ 进程是操作系统资源分配的基本单位,线程是CPU调度的基本单位

4.3优缺点

① 进程优缺点:

优点:可以⽤多核

缺点:资源开销⼤

② 线程优缺点

优点:资源开销⼩

缺点:不能使⽤多核

http://www.dtcms.com/a/580120.html

相关文章:

  • 重庆网站建设外包wordpress开发文档(chm)
  • 南海建设工程交易网站网站备案问题
  • 沈阳市建设工程信息网招标公告搜索引擎优化seo专员招聘
  • 邯郸去哪做网站改版产品推广方案要包含哪些内容
  • 南充 网站建设学校网站建设总结
  • 怎么找网站的根目录百度文档怎么免费下vvv
  • 如何让百度新闻收录网站文章wordpress空页面模板
  • 工信部 网站备案 上传电子网站建设哪家好采用苏州久远网络
  • 保定定兴网站建设做公司网站需要会什么
  • 南京市秦淮区建设局网站wordpress本文地址
  • 大厂建设局网站网络产品及其推广方法
  • wordpress 段子主题简单的网站更新 关键词优化 关键词互联
  • 石家庄网站设计公司排名网站建设公司 校园网站
  • 做网站虚拟主机要多大微信超市小程序
  • 济南网站设计制作要多久产品备案号查询官网
  • 网站案例英文网页设计与网站建设习题答案
  • 网站建设和网页设计视频教程品牌建设的本质英语作文
  • 快速建站服务济南做网站公司xywlcn
  • 同域名网站改版需要把之前网站里的文章都拷贝过来吗?做平行进口的汽车网站
  • 天猫网站建设可行性分析筑楼人官方网
  • 公司网站的重要性a站免费最好看的电影片推荐
  • 在百度做网站需要什么资料网站建设表格的属性
  • 微信网站页面设计建设网站商城后台系统
  • 做环评需要关注哪些网站陕西住房城乡建设厅网站
  • 简单网站制作教程怎么做网站数据分析
  • 石家庄哪里有做网站的南昌企业自助建站
  • 美食攻略网站建设课程设计注册免费的网站有吗
  • 安阳网站怎么优化威海网站定制
  • 建站行业有哪些桂林生活网招聘
  • 泉州网站排名优化教育行业手机wap网站