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 堡垒机基本概述 其从功能上讲,它综合了核心系统运维和安全审计管控两大主干功能,从技术实现上讲,通过切断终端计算机对网络和服务器资源的直接访问,而采用协议代理的方式,接管了终端计算机对网络和服务器的 ...
最新文章
- Linux 执行文件查找命令 which 详解
- idea maven打包_20201116(Maven学习)
- [转载]工作面试时最难的25个问题
- python虚拟环境拷贝到另一台电脑,不能直接使用的问题
- 4款.Net报表控件优势对比分析
- 宏定义 object-c 单例
- Python进阶:并发编程之Asyncio
- Spark学习笔记6:Spark调优与调试
- 第001讲 html介绍 html运行原理
- 哈希表与区块链的简单介绍
- mysql - InnoDB存储引擎 死锁问题( Deadlock found when trying to get lock; try restarting transaction )...
- linux lasound.so教程,Linux ALSA 音频系统:逻辑设备篇(示例代码)
- 烽火交换机S2000单独划分VLAN的方法
- 【verilog】 AB相旋转编码器驱动(fpga,正交编码器,霍尔编码器驱动)
- 郎咸平:用友和金蝶的长板在哪儿
- 【12月原创】RT-thread - 柿饼UI学习心得分享
- 关于STM32 IAP升级之为什么APP执行要0x2FFE0000这个数值的原因(基于STM32F446RET6)
- 如何使用计算机勾绘汇水面积,汇水面积怎么计算
- Excel读写合集:Excel读写小白从不知所措到轻松上手
- 计算机十一月份成绩,CPU天梯图2018年11月最新版 十一月台式电脑CPU性能排行