我有一个使用2个长期运行的SwingWorker任务的应用程序,而我刚遇到了几台Windows计算机,这些Windows计算机具有更新的JVM,它们只能启动其中的一个.没有错误指示,因此我必须假设默认线程池只有一个线程,因此当我尝试执行该操作时,第二个SwingWorker对象正在排队.
因此,(1)如何检查默认的SwingWorker线程池中有多少可用线程,(2)如果需要更多线程,如何添加线程?
还有什么我应该知道的吗?这种明显的单线程线程池情况违反了我的所有期望.
我正在设置ThreadPoolExecutor,但这似乎太错误了…
解决方法:
也许有点晚了,但是,新的Java版本中存在一个错误:
SwingWorker deadlocks due one thread in the swingworker-pool