私がする必要があるのは、同じコマンドのセットを複数のデバイスに対して何度も実行することです。しかし、私はそれを同時に行う必要があります。一連のコマンドを他のデバイスに送信する前に、1 ~ 3 秒の間隔で問題ありません。そこで糸を使うことにした。
コードは次のようになります。
class UseThread(threading.Thread):
def __init__(self, devID):
super(UseThread, self).__init__()
... other commands ....
... other commands ....
... other commands ....
file = open(os.path.dirname(os.path.realpath(__file__)) + '\Samples.txt','r')
while 1:
line = file.readline()
if not line:
print 'Done!'
break
for Code in cp.options('code'):
line = cp.get('product',Code)
line = line.split(',')
for devID in line:
t=UseThread(devID)
t.start()
すべてのデバイスで最初の試行を実行して結果を記録することができましたが、2 回目の試行では、「Monkey Command : wake」というコードのどこかでハングします。
このように動作させるスレッドの何が問題になっていますか?