java - 异步情况下的循环,怎么解决这个问题
PHPz
PHPz 2017-04-18 10:08:52
0
6
484
PHPz
PHPz

学习是最好的投资!

全員に返信(6)
伊谢尔伦

synchronizedキーワード

を使用します
いいねを押す +0
左手右手慢动作

揮発性キーワードをリストに追加します

いいねを押す +0
阿神

今日は、可変オブジェクトの安全なリリースとアクセスに関する実践的な並行プログラミングを見たところです:
安全なリリース:

  1. 静的初期化関数でオブジェクト参照を初期化します。

  2. オブジェクトの参照を volatile または AtomicReference に保存します

  3. オブジェクトの参照を、オブジェクトを正しく構築する最終型に保存します

  4. ロックの範囲内でオブジェクトを保存します。

安全なアクセス:

  1. スレッドが閉じられました

  2. 読み取り専用共有

  3. スレッドセーフな共有、公開されたオブジェクトの内部アクセス方法はスレッドセーフであり、外部同期は必要ありません

  4. オブジェクトを保護し、外部アクセスを制限して変更可能なオブジェクトを公開し、変更可能なオブジェクトにアクセスするためのインターフェイスを指定します。

static List<String> arrayList = new ArrayList<>();これは安全な公開の最初のルールに準拠しています
次に、最初の 3 つの状況ではリストに安全にアクセスしてはいけないため、外部の世界を制限することに頼るしかありません。オブジェクトの公開、つまりロック。

いいねを押す +0
洪涛

被験者の要求に応じて実装できますが、この要件の実装は非常に奇妙です。

リーリー

この方法に加えて、join を渡して countdownlatch を渡すことによっても実現できます。本当に主題のようになりたい場合は、マルチスレッド

を使用しない方がよいでしょう。
いいねを押す +0
Peter_Zhu

スレッド プールの invokeAll メソッドを使用すると、結果の順序が、

に渡されたパラメータの順序と一致していることを確認できます。
いいねを押す +0
黄舟

リーリー

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート