区分Java创建线程池、多线程

发布时间:2026/10/14 2:47:03
区分Java创建线程池、多线程
多线程是并发执行的能力线程池是管理线程的容器用来复用线程、避免频繁创建销毁线程。上面的东西看不懂本质还是对线程没有足够了解任务执行在哪其实自己都不知道//你熟悉的 public void issue() { doA(); // 当前线程一步一步执行 doB(); doC(); }谁调用issue()谁的线程就一行行跑doA-doB-doC。比如 Tomcat 收到 HTTP 请求就派一个http-nio-8080-exec-1线程来跑你的Controller方法。你打个断点看线程名就是这个。缺点doB要 2 秒老板这个请求线程就卡 2 秒啥也干不了。这时候就可以用到线程池了你项目里的ThreadPoolTaskExecutor就是一个包工头手下养着一批工人线程 一个待办箱BlockingQueue。heavyPool.submit(() - processChunk(chunk)); // 1. 把任务包成 Runnable 扔进队列就排队能让线程池指认线程去干活了这就是任务进入到到线程的入口但这只是多线程还有的地方用到的是多线程池其实道理是一样的线程池里面的队列也是要排队的本质都是把任务分开不管是分到不同的线程还是不同线程池的队列