Python多线程threading模块中Thread类如何使用
1、打开Ubuntu虚拟机,登录系统,在桌面空白处右键 -- 打开终端。

2、在终端使用gedit创建一个thr.py文件并打开,命令如下:
gedit thr.py

3、在thr.py文件编写代码如下:
import datetime,time
def tellMe(msg):
print (msg)
time.sleep(1)
if __name__ == '__main__':
print ('主线程')
begin = datetime.datetime.now()
for i in range(5):
tellMe('do something')
end = datetime.datetime.now()
print ((end-begin).seconds)
这里只有一个线程,并没有使用多线程

4、保存代码,在终端运行代码,命令如下:
python3 thr.py

5、代码运行,结果如下图,总共执行时间是5秒

6、修改代码,使用threading模块的Thread类,通过多线程达到上面的效果,代码如下:
import datetime,time
from threading import Thread
def tellMe(msg):
print (msg)
time.sleep(1)
if __name__ == '__main__':
print ('主线程')
begin = datetime.datetime.now()
for i in range(5):
t = Thread(target=tellMe,args=('do something',))
t.start()
end = datetime.datetime.now()
print ((end-begin).seconds)

7、保存代码,在终端运行代码,命令如下:
python3 thr.py
打印出代码执行时间是0,但是实际会过一会再弹出Ubuntu系统的提示符,这是因为通过主线程计算出代码执行时间,这是不准确的,因为主线程是在所有线程结束后才结束,实际等待过程差不多就是子线程最耗时的1秒。
