やりたいこと
lenner_agent_R_aからlenner_agent_R_bへデータを何度も送りたい
lenner_agent_R_a, lenner_agent_R_b = "共有する関数" for _ in range(100): time.sleep(0.1から0.3)#なんかの処理 lenner_agent_R_a.append("送りたいデータ") --------別のプロセス---------- for _ in range(100): time.sleep(0.1から0.3)#なんかの処理 "送りたいデータ"=lenner_agent_R_a.pop() print("送りたいデータ")
ですが Pipe(Queueでも) .sendを複数おこなっても.recv()をするまで一回目
にsandしたもののままでした
上のコードのようにタイミングがずれた状態でも listのようにsendで一個ずつデータを送りrecvで一個ずつ受け取るにはどうすればいいですか?
わかる人教えてください
現在私が知ってるmultiprocessingのデータ共有方法は
pipeとQueueの二つだけです
環境 windows10 コマンドプロントから直接動かしてます
「sendを複数おこなっても.recv()をするまで一回目にsandしたもののまま」というのが普通です。 1, 2, 3 の順に入れておき、取得すればまずは1が、次に取得すれば2 が出てきます。
どのような動作を期待しているのでしょう? このような作りが「sendで一個ずつデータを送りrecvで一個ずつ受け取る」ということだと思うのですが。
"上のコードのようにタイミングがずれた状態でも listのように"
send>send>send>recv>recv>send>recv>send>send>recv>recv>recv>
はい。 その状態でも、入れた順に取りだせるはずですが、そうなっていないということでしょうか?
もう一度やってみたらできました
回答1件
あなたの回答
tips
プレビュー