我在函数中这样写:
if(myThread.isAlive()) {
} else {
myThread.start();
}
但是如果多个线程同时调用这个函数,这是不安全的。启动一个正在运行的线程会抛出异常。
那么除了在它周围放置 try-catch,我还有其他选择吗?
最佳答案
使这个方法同步。此外,此检查 (isAlive()
) 是不安全的,因为如果线程已完成,您将无法再次启动它(并且 isAlive()
将返回 false...)
关于java - 如何 "try start"一个线程从几个其他线程,java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5966398/