ThreadPoolDemo02.java 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package J20250731.demo03_threadPool;
  2. import java.util.concurrent.ExecutorService;
  3. import java.util.concurrent.Executors;
  4. import java.util.concurrent.ThreadPoolExecutor;
  5. /**
  6. * @author WanJl
  7. * @version 1.0
  8. * @title ThreadPoolDemo02
  9. * @description
  10. * @create 2025/7/31
  11. */
  12. public class ThreadPoolDemo02 {
  13. public static void main(String[] args) {
  14. //创建一个线程池,指定核心线程数和最大线程数
  15. ExecutorService executorService = Executors.newFixedThreadPool(3);
  16. //把父类对象转换为子类对象
  17. ThreadPoolExecutor tpe=(ThreadPoolExecutor) executorService;
  18. System.out.println("线程池的线程数:"+tpe.getPoolSize()); //0
  19. //如果有任务想要交给线程执行,我们只需要调用executorService的submit方法,把任务传进去
  20. executorService.submit(()->{
  21. System.out.println("线程id:"+Thread.currentThread().getId()+",线程名:"+Thread.currentThread().getName()+"在执行了.....");
  22. });
  23. //向线程池容器提交一个任务
  24. executorService.submit(()->{
  25. System.out.println("线程id:"+Thread.currentThread().getId()+",线程名:"+Thread.currentThread().getName()+"在执行了.....");
  26. });
  27. //向线程池容器提交一个任务
  28. executorService.submit(()->{
  29. System.out.println("线程id:"+Thread.currentThread().getId()+",线程名:"+Thread.currentThread().getName()+"在执行了.....");
  30. });
  31. //向线程池容器提交一个任务
  32. executorService.submit(()->{
  33. System.out.println("线程id:"+Thread.currentThread().getId()+",线程名:"+Thread.currentThread().getName()+"在执行了.....");
  34. });
  35. //向线程池容器提交一个任务
  36. executorService.submit(()->{
  37. System.out.println("线程id:"+Thread.currentThread().getId()+",线程名:"+Thread.currentThread().getName()+"在执行了.....");
  38. });
  39. //向线程池容器提交一个任务
  40. executorService.submit(()->{
  41. System.out.println("线程id:"+Thread.currentThread().getId()+",线程名:"+Thread.currentThread().getName()+"在执行了.....");
  42. });
  43. //再次获取线程数
  44. System.out.println("线程池的线程数:"+tpe.getPoolSize());
  45. //关闭线程池
  46. executorService.shutdown();
  47. }
  48. }