我想在python中创建一种非阻塞类,但我不知道如何。Python中的非阻塞类(分离线程)
我想要一个类是一个线程本身,从主线程分离,以便其他线程可以与它交互。
在一个小例子:
#!/usr/bin/python2.4
import threading
import time
class Sample(threading.Thread):
def __init__(self):
super(Sample, self).__init__()
self.status = 1
self.stop = False
def run(self):
while not(self.stop):
pass
def getStatus(self):
return self.status
def setStatus(self, status):
self.status = status
def test(self):
while self.status != 0:
time.sleep(2)
#main
sample = Sample()
sample.start()
sample.test()
sample.setStatus(0)
sample.stop()
我想是有“样品”实例运行作为一个单独的线程(从主一个分离),因此,在该示例中,当主线程达到sample.test(),样本(只有“样本”)会进入睡眠2秒。与此同时,主线程将继续执行并将样本的状态设置为0.当“样本”醒来2秒后,它会看到状态= 0并退出while循环。
问题是,如果我这样做,行sample.setStatus(0)永远不会到达(创建一个无限循环)。我已经命名了这些线程,事实证明,通过这样做,test()由主线程运行。
我想我没有得到线程在python那么好......
预先感谢您
哦,嘘** ...我看...然后我必须改变我的想法......谢谢! – BorrajaX 2010-10-14 16:37:37