Pythonのマルチプロセッシングモジュールを使用して、別のオブジェクトを作成し、そのオブジェクトをloops_foreverメソッドとして呼び出す新しいプロセスを開始します。私は私のメインクラスでPythonマルチプロセッシング呼び出しオブジェクトメソッド
:
import OtherService
from multiprocessing import Process
my_other_service = OtherService(address=ADDRESS)
my_other_process = Process(target=my_other_service.loops_forever())
print("got here")
my_other_process.start()
print("done")
私はこのコードを実行し、「ここに来た」と印刷されることは決してありません。 loops_foreverは "got here"プリントのすぐ上で呼び出され、コントロールはメインクラスに返されません。
私はここで間違っていますか? 私はこの方法で前にマルチプロセッシングを使用しています
my_other_process = Process(target=OtherService, kwargs={"address":ADDRESS})
my_other_process.start()
正しくOtherServiceのinit関数を呼び出し、別のプロセスとしてinit関数を実行します。 唯一の違いは、init関数を呼び出してから、別のプロセスとしてloops_foreverメソッドを永遠に実行したいということです。
どのような愚かな間違い。ありがとう@pycoder – crusarovid