JCSprout
JCSprout copied to clipboard
线程池中你不容错过的细节 建议
'为什是 run() 而不是 start()' Runnable 没有 start() 方法。Runnable 本身代表的是一个任务,Thread 代表线程,Thread 才可以 start()。
'为什是 run() 而不是 start()' Runnable 没有 start() 方法。Runnable 本身代表的是一个任务,Thread 代表线程,Thread 才可以 start()。
我也正想提这个问题:Runnable没有start方法。 另外,我觉得引出这个异常的同学代码没写好:针对业务线程池,consumer也是生产者,所以在consumer抛出异常后,必须从“队列”中获取product推送的消息,然后推送给内部workQueue。这样确保异常后,worker被干掉创建新的worker后,可以从内部workQueue中获取任务