python死机怎么办_Python线程死机
也许这会有帮助:import threading
class MyQueue:
def __init__(self):
self.tasks = []
self.tlock = threading.Semaphore(0)
self.dlock = threading.Lock()
self.aborted = False
def put(self, arg):
try:
self.dlock.acquire()
self.tasks.append(arg)
finally:
self.dlock.release()
self.tlock.release()
def get(self):
if self.aborted:
return None
self.tlock.acquire()
if self.aborted:
self.tlock.release()
return None
try:
self.dlock.acquire()
if self.tasks:
return self.tasks.pop()
else: # executed abort
return None
finally:
self.dlock.release()
def abort(self):
self.aborted = True
self.tlock.release()
# TESTING
mq = MyQueue()
import sys
def tlog(line):
sys.stdout.write("[ %s ] %s\n" % (threading.currentThread().name, line))
sys.stdout.flush()
def reader():
arg = 1
while arg is not None:
tlog("start reading")
arg = mq.get()
tlog("read: %s" % arg)
tlog("END")
import time, random
def writer():
try:
pos = 1
while not mq.aborted:
x = random.random() * 5
tlog("writer sleep (%s)" % x)
pending = x
while pending > 0:
tosleep = min(0.5, pending)
if mq.aborted:
return
time.sleep(tosleep)
pending -= tosleep
tlog("write: %s" % x)
mq.put("POS %s val=%s" % (pos, x))
pos += 1
finally:
tlog("writer END")
def testStart():
try:
for i in xrange(9):
th = threading.Thread(None, reader, "reader %s" % i, (), {}, None)
th.start()
for i in xrange(3):
th = threading.Thread(None, writer, "writer %s" % i, (), {}, None)
th.start()
time.sleep(30) # seconds for testing
finally:
print "main thread: abort()"
mq.abort()
if __name__ == "__main__":
testStart()
python死机怎么办_Python线程死机相关推荐
- 主线程 子线程死掉_当线程死时,子进程也会死
我有一个程序可以触发Python计时器来生成子进程.一旦程序终止或终止,这些子进程就应该终止.为了做到这一点,我使用了"prctl hack",它设置了一旦父对象死亡,子对象应该接 ...
- python多线程队列处理_Python线程和队列使用的一点思考
Python线程和队列使用的一点思考 1. 斗哥采访环节请问为什么要使用线程? 答:为了提高程序速度,代码效率呀. 请问为什么要使用队列? 答:个人认为队列可以保证线程安全,实现线程间的同步,比较稳. ...
- python蓝牙上位机开发_python做上位机 - osc_2frv0wjp的个人空间 - OSCHINA - 中文开源技术交流社区...
参考文章: https://blog.csdn.net/dgut_guangdian/article/details/78391270 https://www.cnblogs.com/lanceyu/ ...
- python 异步 生产者 消费者_python 线程通信 生产者与消费者
1 """ 2 线程通信的生产者与消费者3 python的queue模块中提供了同步的线程安全的队列类,都具有原子性,实现线程间的同步4 Queue (FIFO: fis ...
- python timer详解_python线程定时器Timer实现原理解析
这篇文章主要介绍了python线程定时器Timer实现原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.线程定时器Timer原理 原理比较 ...
- python 定时器实现原理_python线程定时器Timer实现原理解析
这篇文章主要介绍了python线程定时器Timer实现原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.线程定时器Timer原理 原理比较 ...
- iphone定时关机_成都苹果维修点教你iPhone手机死机、关不了机怎么处理?
死机,是每一个手机都难免会碰到的问题.纵然流利如iPhone手机,也免不了死机.手机屏幕失灵.关不了机等故障.今天,成都苹果维修点就来教大家iPhone手机死机.关不了机该怎么处理? 如果你有什么关于 ...
- 三星电视显示服务器无响应,三星液晶电视死机怎么办 三星液晶电视死机解决方法...
用智能电视看视频.玩游戏已经是现在生活中常见的场景了.我们经常会下载各种好玩的游戏和好看的视频,可能时不时会有一些闪退卡顿的小问题,偶尔还会遇到电视死机,智能电视死机了怎么办?马上回复出厂设置?马上去 ...
- python系统工作原理_Python之路——堡垒机原理及其简单实现
1 堡垒机基本概述 其从功能上讲,它综合了核心系统运维和安全审计管控两大主干功能,从技术实现上讲,通过切断终端计算机对网络和服务器资源的直接访问,而采用协议代理的方式,接管了终端计算机对网络和服务器的 ...
最新文章
- pandas索引复合索引dataframe数据、索引其中多个水平(level)的多个数据行(index rows from different levels)、使用元组tuple表达复合索引的指定行
- 小程序之 转发/分享
- 情人节微信红包数据公布,你离海王与海后有多远...
- 人工智能离我们有多远/近?
- 200905阶段一C++链表与继承特性
- C语言的编译链接过程的介绍
- csv文件怎么转成excel_Python操作Excel文件(1):花式大师pyexcel
- ItelliJ IDEA下载及获取注册码详解
- linux引导过程和服务控制
- c语言【const】用法
- 机器学习算法总结(六)——EM算法与高斯混合模型
- 喷墨打印机一体机清零软件使用图解
- BT5 WIFI破解
- mac/windows用Chrome浏览器截取长图
- Linux: SSH免密登录配置完了不生效
- 前端校招该考察什么?一个面试官的思考
- 视觉特效专家24点行业工作经验总结
- 华为od统一考试B卷【按身高体重排队】C语言 实现
- Dubbo03【管理控制台和监控中心搭建】
- js中文首字母排序(二)
热门文章
- 银行数字化转型导师坚鹏:金融数据治理、数据安全政策解读
- 我的博客在网易上 http://wwbb-0991.blog.163.com/ qq:9387929
- android pad连接电视,安卓平板连接电视机的方法谁了解?
- dnf打团显示服务器即将关闭,DNF:游戏服务器炸锅?当天在打团的小伙伴,你们还好吗...
- SQL轻松入门(2):复杂查询与综合分析
- ipad如何连接VNC
- which is和which are在句号里区别
- 提升SEO效果,数据能起多大的作用?
- Java-单元测试方法
- 针不戳,数据库性能优化八大方案。