我对以下内容感到困惑:
要在Java程序中使用线程,最简单的方法是扩展Thread类并实现runnable接口(或简单地实现runnable)。
开始线程的执行。我们必须调用线程的方法start(),然后调用线程的方法run()。于是线程开始了。
start() 方法(除非我错了)必须准确地调用,并且每个线程只调用一次。因此,线程实例不能被重用,除非 run 方法本身以某种方式运行在一些无限循环中,这有助于线程重用的自定义实现。
现在javadoc
链接文本
说
调用执行将重用以前构造的线程(如果可用)
我不明白这是如何实现的。我在执行器方法的执行方法中提供了我的自定义线程,例如
ExecutorService myCachedPool = Executors.newCachedThreadPool();
myCachedPool.execute(new Runnable(){public void run(){
//do something time consuming
}});
如何重用我委托给执行器框架的这个自定义线程?
是否允许 Executor 调用方法 start() 超过 1 次,而我们不能在我们的程序中?我是不是误会了什么?
谢谢你。