Python多线程简单实例

 时间:2026-02-22 18:33:46

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多线程简单实例

  • IIS部署WebApi
  • 高级否定信念探讨
  • docker 中alpine linux使用
  • 解决IE8、IE10提交表单问题
  • 电子烟的危害
  • 热门搜索
    称赞的近义词是什么 脸上起皮是怎么回事 惊慌失措的近义词 湖北省博物馆开放时间 头有点晕是怎么回事 小学生食品安全常识 恐吓的近义词 今日头条极速版怎么赚钱 双休日加班工资怎么算 档案编号怎么查询