Java マルチスレッド実装の原則と関連する知識ポイント

WBOY
リリース: 2023-05-06 22:01:06
転載
1093 人が閲覧しました

1. マルチスレッドにおけるスレッド プールの原則

(1) スレッド プール内のコア スレッドがすべてタスクを実行しているかどうかを確認します。そうでない場合は (コア スレッドはアイドル状態であり、またはコアスレッドが役に立たない場合)、タスクを実行するための新しいワーカースレッドを作成します。すべてのコアスレッドがタスクを実行している場合は、次のプロセスに入ります。

(2) スレッド プールは、ワーク キューがいっぱいかどうかを判断します。ワーク キューがいっぱいでない場合、新しく送信されたタスクはこのワーク キューに保存されます。ワークキューがいっぱいの場合は、次のプロセスに進みます。

(3) スレッド プール内のスレッドが作業ステータスを処理しているかどうかを確認し、そうでない場合は、タスクを実行するための新しい作業スレッドを作成します。いっぱいの場合は、飽和戦略にこのタスクを処理させます。

2. マルチスレッドの例

public class Test implements Runnable {
    @Override
    public void run() {
        try {
            Thread.sleep(10);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
 
    static ExecutorService service = newFixedThreadPool(3);
 
    public static void main(String[] args) {
        for (int i=0;i<100;i++) {
            service.execute(new Test());
        }
 
        service.shutdown();
    }
}
ログイン後にコピー

以上がJava マルチスレッド実装の原則と関連する知識ポイントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!