ホームページ  >  記事  >  Java  >  Java でのスレッド同期についての理解

Java でのスレッド同期についての理解

王林
王林オリジナル
2019-12-06 13:53:252500ブラウズ

Java でのスレッド同期についての理解

まずスレッドとは何かを理解してください。

私たちはコンピューター上でさまざまなコンピューター ソフトウェア プログラムを実行できます。実行中の各プログラムには、複数の独立して実行されるスレッド (スレッド) が含まれる場合があります。

スレッドは独立して実行されるプログラムであり、独自の専用の実行スタックがあります。スレッドは、メモリ、ファイル、データベースなどの一部のリソースを他のスレッドと共有する場合があります。

複数のスレッドが同じ共有リソースを同時に読み書きすると、競合が発生する可能性があります。現時点では、スレッドの「同期」メカニズムを導入する必要があります。つまり、各スレッドは先着順であり、同時に混雑することはできません。

オンライン ビデオ チュートリアルの推奨事項: java コース

スレッド同期の概要

スレッド同期の本当の意味は、逆に文字通りの意味。スレッド同期の本当の意味は、実際には「キューイング」です。複数のスレッドがキューに登録され、同時に動作するのではなく、共有リソース上で 1 つずつ動作する必要があります。

したがって、スレッド同期に関して、最初に留意する必要がある点は、スレッド同期はスレッド キューイングであるということです。同期はキューイング中です。

スレッド同期の目的は、スレッドの「同期」実行を回避することです。

スレッドの同期に関して、2 番目に留意する必要があるのは「共有」という言葉です。同期が必要なのは、共有リソースへの読み取りおよび書き込みアクセスのみです。リソースが共有されていない場合は、同期する必要はまったくありません。

スレッド同期に関して、留意する必要がある 3 番目の点は、同期アクセスが必要なのは「変数」のみであるということです。共有リソースが固定されている場合、それは「定数」と同等であり、同時に定数を読み取るスレッドは同期する必要はありません。少なくとも 1 つのスレッドが共有リソースを変更する場合、スレッド間の同期が必要です。

スレッドの同期に関して、留意する必要がある 4 番目の点は、複数のスレッドが共有リソースにアクセスするために使用するコードは、同じコードが実行されるかどうかに関係なく、同じコードである場合もあれば、異なるコードである場合もあることです。これらのスレッドのコードが同じ変更可能な共有リソースにアクセスする限り、これらのスレッド間で同期が必要です。

おすすめの関連記事とチュートリアル: java クイック スタート

以上がJava でのスレッド同期についての理解の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。