1. // 创建一个线程池,维护足够的线程以支持给定的并行度级别,并且可以使用多个队列来减少争用。
    2. // 并行度级别对应于主动参与或可用于参与任务处理的最大线程数。
    3. // 线程的实际数量可能会动态增长和收缩。
    4. // 工作窃取池不保证提交任务的执行顺序。
    5. // 并行度——目标并行度级别
    6. //一个拥有多个任务队列的线程池,可以减少连接数,创建当前可用cpu数量的线程来并行执行。
    7. ExecutorService forkJoin = Executors.newWorkStealingPool();
    8. forkJoin.execute(new Runnable() {
    9. @Override
    10. public void run() {
    11. System.out.println("i====>" + 1);
    12. }
    13. });
    14. forkJoin.execute(new Runnable() {
    15. @Override
    16. public void run() {
    17. System.out.println("i====>" + 2);
    18. }
    19. });
    20. forkJoin.execute(new Runnable() {
    21. @Override
    22. public void run() {
    23. System.out.println("i====>" + 3);
    24. }
    25. });
    26. forkJoin.execute(new Runnable() {
    27. @Override
    28. public void run() {
    29. System.out.println("i====>" + 4);
    30. }
    31. });
    32. forkJoin.shutdown();