JAVA (マルチスレッド)

1.1 プロセスとスレッドの違い
プロセスはオペレーティング システムのリソース割り当ての基本単位であり、スレッドは CPU の基本的なスケジューリング単位です。
プログラムが実行された後、プロセスがあります。
プロセスには複数のスレッドを含めることができますが、少なくとも 1 つのスレッドが必要です。それ以外の場合、このスレッドは無意味です。
データセグメントのアドレスはプロセス間で共有できませんが、同じプロセスのスレッド間で共有できます。
1.2 スレッドの構成
どのスレッドにも基本的なコンポーネントがあります。
CPU タイム スライス: オペレーティング システムは、各スレッドに実行時間を割り当てます。
実行中のデータ:
ヒープ スペース: スレッドが使用する必要があるオブジェクトを格納し、複数のスレッドがヒープ内のオブジェクトを共有できます。
スタック スペース: スレッドが使用する必要があるローカル変数を格納します。各スレッドには独立したスタックがあります。
スレッド ロジック コード
1.3 スレッドの機能
スレッドのプリエンプティブ実行。
効率的。
単一のスレッドが CPU を長時間独占するのを防ぐことができます。
シングルコア CPU では、実行はマクロ レベルで同時に実行され、ミクロ レベルで順次実行されます。
1.4. スレッドの作成
スレッドを作成するには、
Thread クラスを継承する方法と、run メソッドを書き換える方法の 3 つの方法があります。
Runnable インターフェースを実装します。
Callable インターフェースを実装します。
 

おすすめ

転載: blog.csdn.net/weixin_54255580/article/details/122071517