专栏首页python3Python多线程threading用法

Python多线程threading用法

Python里面经常会用到多线程,即所有的方法在同一时间开始运行,而不是按顺序一个一

个运行。所用到的模块为threading,下面详解threading用法。

  • 我们写三个方法,one、two、three并正常运行。

这里只截图了one()方法,two、three与one内容一样。

按下面图中的运行方式,三个函数是分别在不同时间运行的。

  • 我们用threading使三个方法在同一时间运行

定义一个线程池并把要运行的线程都写到这个线程池列表里:

threads= [] #定义一个线程池 t1 = threading.Thread(target=one,args=(,)) #建立一个线程并且赋给t1,这个线程指定调用方法one,并且不带参数 threads.append(t1)#把t1线程装到threads线程池里 t2 = threading.Thread(target=two) threads.append(t2) t3 = threading.Thread(target=three) threads.append(t3)

这时threads这个列表中就有三个线程装在里面了。

下面就是运行这个线程池里面的线程

for t in threads:
    t.setDaemon(True)#声明t为守护线程,设置的话,子线程将和主线程一起运行,并且直接结束,不会再执行循环里面的子线程
    t.start()
t.join()#作用是执行完所有子线程才去执行主线程

用一个for语句遍历threads里的线程,然后调用start()方法运行

注意t.join()必须放在for语句外面。

  • 运行结果为在同一时间启动的

是不是很快就明白threading的用法了呢?

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • [python][threading][

        thread不支持守护线程,当主线程退出时,所有的子线程无条件推出;针对这种情况,threading引入了守护线程的概念。

    py3study
  • Python中多线程总结

    一个进程中至少有一个线程,并作为程序的入口,这个就是主线程。一个进程至少有一个主进程,其他线程称为工作线程。

    py3study
  • python 多线程重启

    py3study
  • 微服务转型,雪崩效应是绕不过的一道坎

    记得在三年前公司因为业务发展需要,就曾经将单体应用迁移到分布式框架上来。当时就遇到了这样一个问题:系统仅有一个控制单元,它会调用多个运算单元,如果某个运算单元(...

    yuanyi928
  • 【Android】RxJava的使用(四)线程控制 —— Scheduler

    Gavin-ZYX
  • JVM-concurrent-HashSet-problem Java 并发问题

    上午刚到公司,准备开始一天的摸鱼之旅时突然收到了一封监控中心的邮件。 心中暗道不好,因为监控系统从来不会告诉我应用完美无 bug,其实系统挺猥琐。 打开邮件...

    爱明依
  • “面试不败计划”:java工程师面试常问的多线程问题【推荐】

    好好学java
  • 三分钟基础:用户级线程和内核级线程有什么区别?

    网上关于多线程的资料很多,小白很快就把线程的基本概念弄懂了,但关于「用户级线程和内核级线程」的概念,她却怎么也搞不清楚,只好向操作系统基础扎实的小明请教。

    帅地
  • 学习分布式系统限流、降级、熔断框架就要看这篇文章为什么需要HystrixHystrix如何解决依赖隔离如何使用HystrixHystrix关键组件分析

    Java架构
  • 多线程入门

    HANDLE WINAPI CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, SIZE...

    用户1624346

扫码关注云+社区

领取腾讯云代金券