まずスレッドとは何かを理解してください。
私たちはコンピューター上でさまざまなコンピューター ソフトウェア プログラムを実行できます。実行中の各プログラムには、複数の独立して実行されるスレッド (スレッド) が含まれる場合があります。
スレッドは独立して実行されるプログラムであり、独自の専用の実行スタックがあります。スレッドは、メモリ、ファイル、データベースなどの一部のリソースを他のスレッドと共有する場合があります。
複数のスレッドが同じ共有リソースを同時に読み書きすると、競合が発生する可能性があります。現時点では、スレッドの「同期」メカニズムを導入する必要があります。つまり、各スレッドは先着順であり、同時に混雑することはできません。
オンライン ビデオ チュートリアルの推奨事項: java コース
スレッド同期の概要
スレッド同期の本当の意味は、逆に文字通りの意味。スレッド同期の本当の意味は、実際には「キューイング」です。複数のスレッドがキューに登録され、同時に動作するのではなく、共有リソース上で 1 つずつ動作する必要があります。
したがって、スレッド同期に関して、最初に留意する必要がある点は、スレッド同期はスレッド キューイングであるということです。同期はキューイング中です。
スレッド同期の目的は、スレッドの「同期」実行を回避することです。
スレッドの同期に関して、2 番目に留意する必要があるのは「共有」という言葉です。同期が必要なのは、共有リソースへの読み取りおよび書き込みアクセスのみです。リソースが共有されていない場合は、同期する必要はまったくありません。
スレッド同期に関して、留意する必要がある 3 番目の点は、同期アクセスが必要なのは「変数」のみであるということです。共有リソースが固定されている場合、それは「定数」と同等であり、同時に定数を読み取るスレッドは同期する必要はありません。少なくとも 1 つのスレッドが共有リソースを変更する場合、スレッド間の同期が必要です。
スレッドの同期に関して、留意する必要がある 4 番目の点は、複数のスレッドが共有リソースにアクセスするために使用するコードは、同じコードが実行されるかどうかに関係なく、同じコードである場合もあれば、異なるコードである場合もあることです。これらのスレッドのコードが同じ変更可能な共有リソースにアクセスする限り、これらのスレッド間で同期が必要です。
おすすめの関連記事とチュートリアル: java クイック スタート
以上がJava でのスレッド同期についての理解の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。