随笔 - 531  文章 - 0  评论 - 3  阅读 - 10215 

 

复制代码
线程池的execute实现逻辑: 向线程池提交一个任务,如果线程数不超过核心线程数,就创建线程,否则加入阻塞队列。
这里创建的"线程"是一个包装thread类(通过继承)的类,其中run( ) 是一个循环,不断从阻塞队列中取任务执行
复制代码
final void runWorker(Worker w) {
    Runnable task = w.firstTask;
    w.firstTask = null; // 首次任务置空
    while ((task != null) || (task = getTask()) != null) {
        try {
            task.run(); // 执行任务
        } catch (RuntimeException ex) {
            handleException(ex); // 处理运行时异常
        }
    }
}
复制代码

 

复制代码
posted on   towboat  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示