多任务创建-线程(IO密集型适用)

单核CPU:时间片轮转

并行:CPU的个数大于等于任务数 真的多任务执行

并发:CPU的个数小于任务数 假的多任务

知识点:

  多线程共享全局变量

创建线程的两种方法:

1.创建子线程方法 调用函数 Thread(target=函数名)

 1 # 导入threading包
 2 import threading
 3 import time
 4 
 5 
 6 def sing():
 7     for i in range(5):
 8         print("------唱------%d----" % i)
 9         time.sleep(1)
10 
11         # 如果创建的Thread时指定的函数,运行结束,那么意味着 这个子线程结束了
12 
13 def dance():
14     for i in range(5):
15         print("------跳------%d----" % i)
16         time.sleep(1)
17 
18 
19 def main():
20     # threading.Thread(target=函数名)  注意 函数名后面不能带() 有()是调用
21     # 创建线程对象
22     t1 = threading.Thread(target=sing)
23     t2 = threading.Thread(target=dance)
24 
25     # 开启子线程 让线程开始执行 创建线程
26     t1.start()
27     t2.start()
28 
29     # 查看当前运行的线程 threading.enumerate() 返回值是个列表
30     print(threading.enumerate())
31 
32     # 查看当前线程数 len()
33     print(len(threading.enumerate()))

2,创建子线程类 

 1 import threading
 2 import time
 3 
 4 
 5 # 创建子线程类
 6 class MyThread(threading.Thread):
 7     # 必须定义run()方法
 8     def run(self):
 9         pass
10 11 12 if __name__ == '__main__': 13 # 创建对象 14 t = MyThread() 15 # 启动线程 start()里边会调用run()方法 16 t.start()
原文地址:https://www.cnblogs.com/yifengs/p/11381036.html