【发布时间】:2011-04-18 19:48:54
【问题描述】:
首先是一点背景。我在 NetBeans 中收到警告,告诉我不要在构造函数中启动新线程。我已经读过,这样做的原因是因为新线程可能会启动并尝试引用该对象在构造函数实际完成创建对象之前启动线程。
1.) 为了进行实验而不是使用new Thread 和thread.start(),我尝试了ExecutorService,但没有收到任何警告。 这是否意味着如果我使用ExecutorService,可以在构造函数中创建和启动新线程?
2.) 另外,如果我有一个缓存线程池形式的ExecutorService,将通过new Thread 和thread.start() 的标准方法创建一个新线程,从缓存池中拉出一个线程(或者如果一个不可用则让它创建一个)或者这些线程是否完全独立于缓存线程池?
【问题讨论】:
标签: java multithreading threadpool executorservice