検索

ホームページ  >  に質問  >  本文

java - 异步情况下的循环,怎么解决这个问题

PHPzPHPz2768日前494

全員に返信(6)返信します

  • 伊谢尔伦

    伊谢尔伦2017-04-18 10:10:52

    synchronizedキーワード

    を使用します

    返事
    0
  • ringa_lee

    ringa_lee2017-04-18 10:10:52

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

    返事
    0
  • 阿神

    阿神2017-04-18 10:10:52

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

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

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

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

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

    安全なアクセス:

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

    2. 読み取り専用共有

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

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

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

    返事
    0
  • PHP中文网

    PHP中文网2017-04-18 10:10:52

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

    リーリー

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

    を使用しない方がよいでしょう。

    返事
    0
  • 天蓬老师

    天蓬老师2017-04-18 10:10:52

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

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

    返事
    0
  • 黄舟

    黄舟2017-04-18 10:10:52

    リーリー

    返事
    0
  • キャンセル返事