我正在为某个库(python)编写服务器。
我希望当服务器在他的循环中工作时,它将打开1个线程来执行其他操作。
我用队列控制这个线程,直到队列中没有返回值,我不希望服务器打开另一个线程。
try:
#we have a return in the queqe
returnValue = threadQueue.get(False)
startAnotherThread = True
except Empty:
print "Waiting for return value from thread thread....."
如果队列中有一些返回值,则startAnotherThread将告诉某些if语句打开另一个线程。
我不知道为什么它没有工作mabye有人有想法?
答案 0 :(得分:0)
解决:
在服务器循环之前初始化:
# thread queue
threadQueue = Queue()
# thread numbering
threadNumber = 0
# thread start
threadCanStart = True
服务器循环内部:
if threadCanStart:
myThread(threadNumber, threadQueue).start()
threadNumber += 1
threadCanStart = False
try:
#we have a return in the quqe
returnValue = threadQueue.get(False)
print "Queue return: ", returnValue
threadCanStart = True
except Empty:
print "Waiting for thread....."