h5网站建设哪家好,wordpress怎么给别人建站,什么是搜索引擎竞价推广,企业网站建设费用价格1、进程#xff1a;我们可以理解为是一个可以独立运行的程序单位。 比如#xff1a;打开一个浏览器#xff0c;这就开启了一个浏览器进程#xff1b;打开一个文本编辑器#xff0c;这就开启了一个文本编辑器进程。但一个进程中是可以同时处理很多事情的。
比如#xff1…1、进程我们可以理解为是一个可以独立运行的程序单位。 比如打开一个浏览器这就开启了一个浏览器进程打开一个文本编辑器这就开启了一个文本编辑器进程。但一个进程中是可以同时处理很多事情的。
比如在浏览器中我们可以在多个选项卡中打开多个页面。
有的页面在播放音乐有的页面在播放视频有的网页在播放动画它们可以同时运行互不干扰。为什么能同时做到同时运行这么多的任务呢
2、线程就是一个个运行的任务。
进程就是线程的集合进程就是由一个或多个线程构成的线程是操作系统进行运算调度的最小单位是进程中的一个最小运行单元。比如上面所说的浏览器进程其中的播放音乐就是一个线程播放视频也是一个线程当然其中还有很多其他的线程在同时运行这些线程的并发或并行执行最后使得整个浏览器可以同时运行这么多的任务。了解了线程的概念多线程就很容易理解了多线程就是一个进程中同时执行多个线程前面所说的浏览器的情景就是典型的多线程执行。
3、并发和并行 说到多进程和多线程这里就需要再讲解两个概念那就是并发和并行。我们知道一个程序在计算机中运行其底层是处理器通过运行一条条的指令来实现的。 并发
英文叫作 concurrency。它是指同一时刻只能有一条指令执行但是多个线程的对应的指令被快速轮换地执行。比如
一个处理器它先执行线程 A 的指令一段时间再执行线程 B 的指令一段时间再切回到线程 A 执行一段时间。
由于处理器执行指令的速度和切换的速度非常非常快人完全感知不到计算机在这个过程中有多个线程切换上下文执行的操作这就使得宏观上看起来多个线程在同时运行。但微观上只是这个处理器在连续不断地在多个线程之间切换和执行每个线程的执行一定会占用这个处理器一个时间片段同一时刻其实只有一个线程在执行。
并行
英文叫作 parallel。它是指同一时刻有多条指令在多个处理器上同时执行并行必须要依赖于多个处理器。不论是从宏观上还是微观上多个线程都是在同一时刻一起执行的。
并行只能在多处理器系统中存在
如果我们的计算机处理器只有一个核那就不可能实现并行。
而并发在单处理器和多处理器系统中都是可以存在的因为仅靠一个核就可以实现并发。
举个例子
比如系统处理器需要同时运行多个线程。如果系统处理器只有一个核那它只能通过并发的方式来运行这些线程。如果系统处理器有多个核当一个核在执行一个线程时另一个核可以执行另一个线程这样这两个线程就实现了并行执行当然其他的线程也可能和另外的线程处在同一个核上执行它们之间就是并发执行。具体的执行方式就取决于操作系统的调度了。
下面是多线程示例代码 import threading, time
def wakeUp():print(第一个线程开始)time.sleep(6) # threadobj线程休息6秒print(第一个线程进行中......)print(第一个线程结束)print(下面是两个进程)
threadObj threading.Thread(targetwakeUp)
threadObj.start()# threadobj线程开始工作
time.sleep(1)#社主线程休息1秒
print(第二个进程开始了)
如果安装代码逐行运行思维运行结果应该为
第一个线程开始 第一个线程进行中...... 第一个线程结束
第二个进程开始了
而实际上运行结果为
第一个线程开始
第二个进程开始了
第一个线程进行中......
第一个线程结束在第一个进程休息的时间第二个进程已经开始执行了。由此可知多线程可加快程序运行速度提高效率。