ここthreading.Threadを使用する方法の例です。あなたのクラス名を自分のクラス名で置き換えてください。スレッディングは、あなたのようなIO制限付きアプリケーションにとっては素晴らしいことであり、本当にスピードアップできることに注意してください。厳密にpythonスレッドを標準のPythonでの計算に使用するのは、一度に1つのスレッドしか計算できないので役に立ちません。
import threading, time
class Ping(threading.Thread):
def __init__(self, multiple):
threading.Thread.__init__(self)
self.multiple = multiple
def run(self):
#sleeps 3 seconds then prints 'pong' x times
time.sleep(3)
printString = 'pong' * self.multiple
pingInstance = Ping(3)
pingInstance.start() #your run function will be called with the start function
print "pingInstance is alive? : %d" % pingInstance.isAlive() #will return True, or 1
print "Number of threads alive: %d" % threading.activeCount()
#main thread + class instance
time.sleep(3.5)
print "Number of threads alive: %d" % threading.activeCount()
print "pingInstance is alive?: %d" % pingInstance.isAlive()
#isAlive returns false when your thread reaches the end of it's run function.
#only main thread now
スレッドにはPoolに相当するものがありますか?これは別のプロセスを実行するように見えますが、必要以上に重いかもしれません。 – Kiv
組み込みのものはないと思われますが、私はこれを見つけました:http://www.chrisarndt.de/projects/threadpool/これはかなり似ています。 – drdaeman
ありがとう、スレッドプールはうまく動作しています。 – Kiv