python多线程学习笔记 2
多线程共享数据
1 不同的线程可以使用全局变量达到共享数据的目的
2 不同的线程可以通过传入局部参数达到数据交流的目的
daemon与join使用上的区别
线程的daemon属性必须在start前定义,而join必须放在线程开始后
线程的daemon属性=False可以使主线程在执行完所有命令后进行堵塞状态,等待所有非守护线程完成
线程设置join可以在daemon=True的情况下依旧令主线程进入堵塞状态,等待所有join与非守护线程完成
但是join命令设置后,主线程将不再执行后续命令,等待join的线程全部执行完毕后再继续往下执行。
import threading
t1 = threading.Thread(target = func, args = (*parameter,))
t1.setDaemon(False): //设置daemon属性
t1.start(): //启动线程活动
// 代码继续向下执行,同时等待线程t1结束
t2 = threading.Thread(target = func, args = (*parameter,))
t2.start(): //启动线程活动
t2.join()
// 代码不再往下执行,直到线程t2结束
print('threading t2 has finished')