0.前期准备知识:
单核cpu:单核cpu一次只能处理一个任务(程序/进程),但我们现实中感觉的是,单核cpu能同时处理多个任务,因为单核cpu采用了时间轮片的方法,比如qq,微信,支付宝三个任务,系统会给每个任务分配指定的时间处理他们的工作,比如分配qq的时间片是0.000001s,不要小看0.00001s,cpu1秒可以处理数百万个数据,0.000001s也是可以处理很多数据的,同理微信,支付宝也分配0.000001s,轮流执行每个程序,这样用户看起来就是cpu同时处理多个任务。
并行:比如cpu是4核,4核的话,可以同时处理4个任务,正好此时运行的程序有qq,微信,支付宝,抖音,这样的话,cpu会给每个程序分配一个核,固定的执行这些程序,这样4个任务就是真正意义上的同时执行,也叫做并行
并发:比如cpu是4核,但是有不止4个程序在运行,那就需要轮流执行每个程序,这样的就是并发
==注意:==1.线程间的执行顺序不固定,看系统。2.主线程结束,整个程序就结束 3.子线程对应的函数执行完,子线程就结束
1.函数的线程完成多任务
time.sleep(1):休眠1秒
t1=threading.Thread(target=s1):创建线程(Thread是类,Thread()创建一个对象,此时的对象就是t1)
t1.start():运行线程
threading.enumerate():enumerate()返回的是一个列表,前面加上threading,返回正在运行的线程,用列表表示。
1 import time
2 import threading
3
4 def s1():
5 for i in range(5):
6 print("----s1----%s"%(i))
7 time.sleep(1)
8
9
10 def s2():
11 for i in range(5):
12 print("----s2----%s"%(i))
13 time.sleep(1)
1