私は、多数のワーカーアクターと、マスターアクターによってワーカーに送信されるタスクのリスト(リンクリスト)を持っています。リンクされたリストの各要素には、要素が作業者によってまだ取り込まれているかどうかを指定するBooleanフラグがあります。そうでなければ、ワーカーはフラグを選択してその要素を処理します。アクターがその要素を終了すると、次に選択されない要素のリスト要素がチェックされます。 作業者は、リストに残っている要素がなくなるまで作業を続けます。 私の質問は、要素が選択されていることを示すフラグを設定する最も良い方法です。私はフラグをAtomicBooleanを使って原子的にチェックして設定することを考えています。しかし、私はスカラーでAtomicBooleanを使う方法を知らない。 お知らせくださいScalaの共有リンクリスト
0
A
答えて
1
あなたがJavaのAtomicBooleanをインポートして、いつものようにそれを使用することができます:私は、デザインを再考う
scala> import java.util.concurrent.atomic.AtomicBoolean
import java.util.concurrent.atomic.AtomicBoolean
scala> val ab = new AtomicBoolean(false)
ab: java.util.concurrent.atomic.AtomicBoolean = false
- 俳優は、通常、そのキュー/受信トレイ以外の任意のメカニズムを超える同期する必要はありません。 。どの程度:
- マスター俳優が労働者の俳優の中で作業単位を配布する準備ができてビットを送信する俳優をアキュムレータに
- アキュムレータ俳優は準備ができて、結果を収集し、リストを出力します。
+0
マイケルに感謝します。リストは異質であり、要素のいくつかは他の要素よりも多くの時間がかかります。最初は労働者の間でそれを均等に分配することはできません。私は各作業員に一つの要素を送ることを考えています。その要素で作業した作業者がマスタに通知します。次にマスターはその自由な労働者に次の要素を送りますか? –
+2
@ A.G、そのコメントは、実際には作業者間でタスクを配布する方法に関する全く異なる質問です。別の質問として投稿したほうがよいでしょう –
関連する問題
- 1. Scalaの構造共有リスト
- 2. Scalaリンクリスト
- 3. 大きな共有状態のためのscala/akka/stmデザイン?
- 4. 共有Mavenリポジトリのデータボリュームの共有
- 5. 共有コードへの共有と追加
- 6. 有効なScala
- 7. Angular2共有コンポーネントが共有されていない共有コンポーネント
- 8. 共有ポイント上で共通のデータを共有
- 9. Oracle MAFソーシャルメディア共有とデフォルト共有パネル
- 10. 共有共有ボタンが横に
- 11. Scala最低共通祖先
- 12. 共有SqlConnectionの
- 13. 共有のURL、
- 14. Scalaの共変の型宣言はexlplicitly
- 15. Scalaのマップの共同出現は
- 16. 配列の共有ptrからの共有ptrへのアクセス
- 17. Twitterの共有ボタン
- 18. 共有ライブラリのMakefile?
- 19. Facebookの共有アクションスウィフト
- 20. SLComposeViewController共有のチュートリアル
- 21. 共有コードのレイアウト
- 22. ソーシャルネットワークのオフピーク共有
- 23. LinkedIn共有のコンテンツセキュリティポリシー
- 24. Excelスプレッドシートの共有
- 25. 共有ポインタのソートリスト
- 26. 共有ホスティングのスケジューリング
- 27. 共有ホスティングプランのPHPUnit?
- 28. Linuxの共有メモリ
- 29. 共有ビューのインデックス
- 30. 共有ビューのCanCan
あなたは俳優を使用していますが、俳優同士で状態を共有していますか?それはデザインの匂いのビット(とあなたの流通の可能性を制限します) –
また、質問のタイトルは誤解を招く。リンクされたリストであることは無関係です。 –