Java 同時実行エグゼキュータ フレームワークとスレッド プール

並行プログラミングのプログラミング方法は、タスクを一連の小さなタスクに分割することです。つまり、スレッド Runnable を開き、それを実行のために Executor (スレッド プール) Executor.execute(Runnalbe ) に送信します 。Executor は、内部スレッド プールを使用して、実行中に操作を完了します。

1.スレッドプールを作成する

Executors クラスは、スレッド プールを作成するための一連のファクトリ メソッドを提供し、返されたスレッド プールはすべてExecutorServiceインターフェイスを実装します。

public static ExecutorService newFixedThreadPool(int nThreads)

固定数のスレッドでスレッド プールを作成します。

public static ExecutorService newCachedThreadPool()

キャッシュ可能なスレッド プールを作成します。execute を呼び出すと、以前に構築されたスレッドが再利用されます (スレッドが利用可能な場合)。既存のスレッドが利用できない場合、新しいスレッドが作成され、プールに追加されます。60 秒間使用されていないスレッドを終了し、キャッシュから削除します。

public static ExecutorService newSingleThreadExecutor()

シングルスレッド Executor を作成します。

public static Sc​​heduledExecutorService newScheduledThreadPool(int corePoolSize)

タイミングと定期的なタスクの実行をサポートするスレッド プールを作成します。これは、ほとんどの場合、Timer クラスを置き換えるために使用できます。

Executor executor = Executors.newFixedThreadPool(10);
Runnable task = new Runnable() {
    @Override
    public void run() {
        System.out.println("task over");
    }
};
executor.execute(task);

また

1 executor = Executors.newScheduledThreadPool(10);  
2 ScheduledExecutorService scheduler = (ScheduledExecutorService) executor;  
3 scheduler.scheduleAtFixedRate(task, 10, 10, TimeUnit.SECONDS);  

https://www.cnblogs.com/cyberniuniu/p/5021944.html

おすすめ

転載: blog.csdn.net/qq_36647209/article/details/130385343