day9-并发多线程
一、前言
我们说的单核的CPU只能同时执行一个任务,但是给我们的幻觉是可以执行多个任务,因为CPU太快了。它是怎么实现的呢?就是上下文的切换,它不是轮询切换的。它是按照优先级来切换的,并不是从头到尾,中间的切换是有优先级的我们就可以利用这个优势,因为太快了,但是我们只能打开一个QQ,启动一个线程的话,他能得到执行的时间是优先的。那CPU给我们的感觉同时执行多个任务,那我就可以执行并发批量操作某个动作。
二、多并发,多线程效果演示
2.1、创建线程
import threading,time def run(n): print("task:",n) t1 = threading.Thread(target = run,args = ("t1",)) t2 = threading.Thread(target = run,args = ("t2",)) #实例化 t1.start() t2.start() #有人会觉得上面的代码,跟下面的代码没上面不同 def run(n): print("task:",n) t1=run(t1) t2=run(t2) #请看下面的例子
2.2、验证并发,多线程效果
import threading,time def run(n) print("task:",n) time.sleep(2) #代表某个功能模块执行时间 t1=threading.Thread(targat=run,args=("t1",)) t2=threading.Thread(targat=run,args=("t2",)) t1.start() t2.start() #这样执行的时间在 2s 多一点, 如果想刚才的例子里 t1=run(t1) t2=run(t2) 需要4S多一点的时间。

浙公网安备 33010602011771号