随笔 - 531  文章 - 0  评论 - 3  阅读 - 10215 
  2025年1月2日
摘要: 线程池的execute实现逻辑: 向线程池提交一个任务,如果线程数不超过核心线程数,就创建线程,否则加入阻塞队列。这里创建的"线程"是一个包装thread类(通过继承)的类,其中run( ) 是一个循环,不断从阻塞队列中取任务执行 final void runWorker(Worker w) { R 阅读全文
posted @ 2025-01-02 22:05 towboat 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 现在有多个异步任务需要处理,考虑用阻塞队列 给线程池提交任务: 将future结果加入阻塞队列 这样先执行完成的可以先消费 BlockingQueue<Integer> bq = new LinkedBlockingQueue<>(); //电商S1报价异步进入阻塞队列 executor.execu 阅读全文
posted @ 2025-01-02 21:40 towboat 阅读(6) 评论(0) 推荐(0) 编辑
摘要: FutureTask 有future与Runnable的特征 (实现interface) 线程池execute(Runnable) 返回 Future<> future , 可以通过 future.get( ) 获取结果 也可以把FutureTask 提交到线程池执行,然后直接task.get( ) 阅读全文
posted @ 2025-01-02 15:24 towboat 阅读(5) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示