2

最近、GPars(Groovy Parallel System) ライブラリを調査していて、DataFlow 変数に出会いました。ドキュメントには、Dataflow 変数は 1 回しか割り当てることができないと書かれています。ただし、この制限の理由を見つけることができませんでした。

GPars の Dataflow 変数が 1 回だけ割り当てられる理由を誰か教えてもらえますか?

4

2 に答える 2

2

データフロー プログラミングでは、変数は一度だけ書き込み可能であり、変数の値を使用 (消費) するコードを同期する方法です。実行をガイドするのは、このデータの流れです。

プログラミング全般、特にデータフローの同時実行に関する優れた本はConcepts, Techniques, and Models of Computer Programmingで、データフロー同期変数の使用方法 (Oz 言語を使用) について詳しく学ぶことができます。

一方、変数に複数の値を割り当てることができる場合は、値が書き込まれるたびに、そのコンシューマーに通知する必要があります。これは、メッセージ パッシングのように聞こえます。

于 2012-06-03T17:25:44.683 に答える
0

DataflowVariable はその値を変更できないため、競合状態を持つことはできません。ノンブロッキング書き込みを行うこともできるため、設計上、非常に効率的でデッドロックが発生しません。最初の割り当ての後、ノンブロッキング読み取りを行うことさえできます。

于 2013-09-15T16:39:13.467 に答える