0

我正在为某个库(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有人有一个想法?

4

1 回答 1

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....."
于 2013-09-22T06:27:05.140 回答