GIL锁
这玩意可以让同时刻一个进程中只有一个线程被CPU调用
所以要体现计算机多核优势就要使用多进程:
如果不用多核优势,只要用多线程就行了。
所以要计算密集型就用多进程,例如:大量数据计算
IO密集型就用多线程,例如:文件读写,网络数据传输。
多线程开发细节
一个程序开发是有一个主线程的,我们创建的都是子线程,当主线程执行完它会等子线程,子线程都结束了主线程才执行完毕
常见方法
t.start()
线程准备就绪,等待cpu调度
t.join()
等待当前线程执行完毕后在向下继续执行,(主线程停车等待,执行该子线程)
t.setDaemon(布尔)
守护线程,必须放在start前,如果为TRUE主线程就不等子线程了,主线程搞定子线程不搞完也结束。
name=threading.current_thread().getName()
获取当前执行此代码的线程
t.setName()给线程取名字必须放在start()之前