我正在尝试编写一个 UDP 侦听器,该侦听器执行 API 调用作为响应,但基于接收到的 UDP 数据报中包含的数据。看来 callMultipleInThreads 在单个线程中运行这两个函数。收到 UDP 数据报后,我希望 functionOne 会在 functionTwo 在新线程中启动时结束(执行 API 调用),但事实并非如此。
import time
from twisted.internet import reactor, threads
def functionOne(x):
print x
def functionTwo(x):
time.sleep(10)
print x
commands = [(functionOne, ["First Function"], {})]
commands.append((functionTwo, ["Second Function"], {}))
reactor.listenUDP(9999, threads.callMultipleInThread(commands))
reactor.run()
我是编写线程代码的新手。如何更好地允许第二个功能不阻止 functionOne 关闭?在 funtionTwo 中分叉 API 调用会是更好的方法吗?