Python多线程threading模块中Thread类如何使用

2025-12-26 12:39:03

1、打开Ubuntu虚拟机,登录系统,在桌面空白处右键 -- 打开终端。

Python多线程threading模块中Thread类如何使用

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

gedit thr.py

Python多线程threading模块中Thread类如何使用

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)

这里只有一个线程,并没有使用多线程

Python多线程threading模块中Thread类如何使用

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

python3 thr.py

Python多线程threading模块中Thread类如何使用

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

Python多线程threading模块中Thread类如何使用

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)

Python多线程threading模块中Thread类如何使用

7、保存代码,在终端运行代码,命令如下:

python3 thr.py

打印出代码执行时间是0,但是实际会过一会再弹出Ubuntu系统的提示符,这是因为通过主线程计算出代码执行时间,这是不准确的,因为主线程是在所有线程结束后才结束,实际等待过程差不多就是子线程最耗时的1秒。

Python多线程threading模块中Thread类如何使用

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢