Python多线程简单实例

2025-11-30 10:35:43

1、打开Python开发工具IDLE,新建‘threaddemo.py’文件,写代码如下:

from threading import Thread

def fun(args):

    print (args)

fun('a')

Python多线程简单实例

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

Python多线程简单实例

3、改写程序,在新的线程执行fun函数,代码如下:

from threading import Thread

def 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 Thread

import time

def 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。
相关推荐
  • 阅读量:86
  • 阅读量:67
  • 阅读量:135
  • 阅读量:50
  • 阅读量:34
  • 猜你喜欢