因此,对于线程,timeout参数应该在timeout秒之后停止线程(如果它还没有终止)。

在我的软件中,我试图替换一个在线程未终止时可以停止软件的Queue.Queue.join()(它包含每个线程的一个项:每个线程将运行Queue.Queue.task_done())。因此,如果一个线程,在其他50个线程中,没有终止,那么它将全部冻结。

例如,我希望每个线程在5秒内停止。所以我将以5秒的超时启动每个线程。对吗?

代码import threading

import time

def tt(name, num):

while True:

num += 0.5

print 'thread ' + str(name) + ' at time ' + str(num)

time.sleep(0.5)

for i in range(3):

t=threading.Thread(target=tt, args=(i, 0))

t.setDaemon(True)

t.start()

t.join(timeout=1)

print 'end'

结果

它不能正常工作。。每根线应在1秒后停止。线程0在3秒后停止,线程1在2秒后停止。thread 0 at time 0.5

thread 0 at time 1.0

thread 1 at time 0.5

thread 0 at time 1.5

thread 0 at time 2.0

thread 1 at time 1.0

thread 2 at time 0.5

thread 0 at time 2.5

thread 1 at time 1.5

thread 2 at time 1.0thread 1 at time 2.0

thread 0 at time 3.0

end

python thread join timeout_了解thread.join(超时)相关推荐

  1. Java Thread类的最终void join()方法与示例

    线程类最终void join() (Thread Class final void join()) This method is available in package java.lang.Thre ...

  2. java thread join()_Java中Thread.join()的使用方法

    概要 本文分三个部分对thread.join()进行分析: 1. join() 的示例和作用 2. join() 源码分析 3. 对网上其他分析 join() 的文章提出疑问 1. join() 的示 ...

  3. python threading join_Python中threading模块join函数用法实例分析

    本文实例讲述了Python中threading模块join函数用法.分享给大家供大家参考.具体分析如下: join的作用是众所周知的,阻塞进程直到线程执行完毕.通用的做法是我们启动一批线程,最后joi ...

  4. python threading_【python标准库学习】thread,threading(一)多线程的介绍和使用

    在单个程序中我们经常用多线程来处理不同的工作,尤其是有的工作需要等,那么我们会新建一个线程去等然后执行某些操作,当做完事后线程退出被回收.当一个程序运行时,就会有一个进程被系统所创建,同时也会有一个线 ...

  5. Python基础之线程(Thread)

    进程 之前我们已经了解了操作系统中进程的概念,程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程.程序和进程的区别就在于:程序是指令的集合,它是进程运行 ...

  6. 【python教程】对多线程中join()的详细教程

    在 Python 的多线程编程中,经常碰到 thread.join()这样的代码.那么今天咱们用实际代码来解释一下 join 函数的作用. 一. 当一个进程启动之后,会默认产生一个主线程,因为线程是程 ...

  7. python文件路径拼接多出斜杠_浅谈python中拼接路径os.path.join斜杠的问题

    浅谈python中拼接路径os.path.join斜杠的问题 调试程序的过程中,发现通过os.path.join拼接的路径出现了反斜杠 directory1='/opt/apps/upgradePac ...

  8. Python入门之——线程threading(Thread类)简介

    几乎所有的操作系统都支持同时运行多个任务,每个任务通常是一个程序,每一个运行中的程序就是一个进程,即进程是应用程序的执行实例.现代的操作系统几乎都支持多进程并发执行.注意,并发和并行是两个概念,并行指 ...

  9. python多线程之setDaemon和join

    简单介绍:线程是程序执行的一个最小单元,当开启多线程时,主线程会创建多个子线程,在python中,默认情况下主线程执行完自己的任务之后就会退出,子线程会继续执行自己的任务,直到自己的任务结束为止. 不 ...

最新文章

  1. pytorch numpy 数据类型转换
  2. 如何使用adb命令发送keyevent
  3. 聊聊storm TridentBoltExecutor的finishBatch方法
  4. jeesite使用心得(二)
  5. 大盗阿福(信息学奥赛一本通-T1301)
  6. 十字路口红绿灯plc程序_PLC编程-典型案例红绿灯控制
  7. python matlibplot_python matlibplot绘制3D图形
  8. cakephp 2.0 源码解读(一)
  9. iOS 学习 - 24.全局跑马灯,支持后台回到前台
  10. 基于SpringBoot的社区物业管理系统(设计与实现详解)
  11. 基于Raspberry pi的BMI160驱动程序实例
  12. ln: creating hard link 问题
  13. 计算机软件工程电脑配置,软件工程专业所需电脑配置。
  14. 八、软考·系统架构师——架构设计
  15. 大学计算机python基础_大学计算机python基础课件2015lecture17
  16. 利用matlab函数生成运动模糊图像,运动模糊图像,模糊图像,锐化图像
  17. 转让App开发者账号
  18. Unix / Linux 线程的实质
  19. java 笔触类_Java-多种颜色/笔触手势,并在同一GestureOverl...
  20. react-native与phonegap入门-曾亮-专题视频课程

热门文章

  1. vxlan 分布式网关数据包转发过程_Vxlan基础
  2. Python爬虫的requests模块你真的学会了吗?来看看这些高级用法!
  3. 20行Python代码检测人脸是否佩戴口罩
  4. 记录一次网盘资源不给提取码的经历!另类编程思维,Python破之!
  5. Express-start
  6. 用公式求e^x的近似值
  7. 双向口 与 准双向口 区别
  8. .NET方法演化史 从Delegate到Lambda再到LINQ
  9. 在机器学习中,likelihood和probability的区别是什么?
  10. 王道 —— 操作系统的四个特征