応答として API 呼び出しを実行する UDP リスナーを作成しようとしていますが、受信した 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()
私はスレッドコードを書くのが初めてです。2 番目の関数が functionOne の終了をブロックしないようにするにはどうすればよいでしょうか? funtionTwo で API 呼び出しをフォークする方がよい方法でしょうか?