Pythonのmultiprocessingモジュールで、プロセス間で文字列をやりとりするにはどうすれば良いでしょうか。
Queueを試してみたのですが、whileによる無限ループにおいて、put()により入れていた文字をget()で取得することは出来ましたが、ループが回らなくなってしまいます。
Valueでctypes(?)を使った例なども簡単にですが試したところうまく動作していません。
実現したいのは、
プロセス間(主にmainと生成したプロセス)で、文字列(string)をやり取りすること
です。
セーフなやり方なら何でも良いです。
わかる方がいらっしゃいましたら、具多例を挙げていただけますと大変助かります。
どうぞよろしくお願いいたします。
python
1追記 2プログラムの構成を示します 3 4def func(): 5 # この関数で文字列を取得します 6 7 8class Proc(multiprocessing.Process): 9 def __init__(self, flag): 10 super(Proc, self).__init__ 11 self.flag = flag 12 13 def run(self): 14 # ここにいくつか処理を書いています 15 # **ここで文字列を取得したいです(データの受信)** 16 17if __name__ == '__main__': 18 # ここで変数などの宣言をしています 19 flag = Value('i', 0) # 整数のやり取りは実装できました 20 p = Proc(flag).start() 21 22 # **ここに文字列を扱うための何かを宣言したいです** 23 24 while True: 25 # **ここで文字列を取得したいです(データの受信)**
回答3件
あなたの回答
tips
プレビュー