16. Пул потоков

Пул потоков

  • corePoolSize: Размер основного пула
  • maxPoolSize: максимальное количество потоков
  • keepAliveTime: как долго поток будет оставаться в живых, если нет задачи, прежде чем он будет завершен.
  • JDK5.0 предоставляет API-интерфейсы, связанные с пулом потоков: ExecutorService и Executors.
  • ExecutorService: реальный интерфейс пула потоков. Общие подклассы ThreadPoolExecutor
    • void execute(Runnable command): выполнить задачу/команду, без возвращаемого значения, обычно используется для выполнения Runnable
    • Futuresubmit (Callabletask): выполнить задачу, получить возвращаемое значение и, как правило, снова выполнить Callable.
    • void shutdown(): закрывает пул соединений
  • Исполнители: класс инструмента, класс фабрики пула потоков, используемый для создания и возврата различных типов пулов потоков.

Использовать пул потоков

package com.senior;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

// 测试线程池
public class TestPool {
    public static void main(String[] args) {
        // 1.创建服务,创建线程池
        // newFixedThreadPool:参数为线程池大小
        ExecutorService service = Executors.newFixedThreadPool(10);

        // 执行
        service.execute(new MyThread());
        service.execute(new MyThread());
        service.execute(new MyThread());
        service.execute(new MyThread());

        // 2.关闭连接
        service.shutdown();

    }
}
class MyThread implements Runnable{
    @Override
    public void run() {
        System.out.println(Thread.currentThread().getName());
    }
}

Je suppose que tu aimes

Origine blog.csdn.net/weixin_56121715/article/details/123781028
conseillé
Classement