Python多线程简单实例

2025-05-26 12:51:36

1、打开Python开发工具IDLE,新建‘threaddemo.py’文件,写代码如下:from threading import Threaddef fun(args): print (args)fun('a')

Python多线程简单实例

2、F5运行程序,打印出'a',这里还没涉及多线程。

Python多线程简单实例

3、改写程序,在新的线程执行fun函数,代码如下:from threading import Threaddef fun(args): print (args)print ('主线程开始')t1 = Thread(target = fun,args=('args',))t1.start()print ('主线程结束')

Python多线程简单实例

4、F5运行程序,当运行到t1.start(),启动了新的线程执行fun函数,不阻塞主线程。打印出信息如下;

Python多线程简单实例

5、改写fun函数,耗时较长,观察更明显,程序默认会等待所有线程执行完才推出。from threading import Threadimport timedef fun(args): for i in args: time.sleep(1) print (i)print ('主线程开始')t1 = Thread(target = fun,args=('args',))print (t1.isDaemon())t1.start()print ('主线程结束')

Python多线程简单实例

6、F5运行程序,观察到主线程与新创建的线程一起执行,不会阻塞。这时创建的线程不是守护线程。

Python多线程简单实例

7、如果将新线程 t1.setDaemon(True) 这时,主线程结束,程序退出了,会关闭新线程,不论有没有执行完。Python官方是这样解释 。但是Python自带的IDLE显示有问题,在其他IDE环境以及命令行端均如此。下图第一个是加了t1.setDaemon(True)。第二个是没加的情况

Python多线程简单实例
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
相关推荐
  • 阅读量:40
  • 阅读量:31
  • 阅读量:42
  • 阅读量:63
  • 阅读量:91
  • 猜你喜欢