线程可以等待,直到其他线程释放访问同步块(synchronized block)的锁。 我想知道当其他线程访问同步块(synchronized block)时一个线程可以等待多长时间?什么时候它才会知道另一个线程释放了锁?
最佳答案
如果变量lock
已在一个线程中同步,则所有其他尝试使用lock
进行同步的线程都将被阻塞,直到lock
不再同步。
//all other threads waiting on thread 1...
synchronized(lock)
{
//thread 1 storing digits of pi into linked list... or whatevs.
}
正如其他人所说,线程将无限期地等待变量空闲以进行同步。
关于java - 当其他线程访问同步块(synchronized block)时,一个线程等待多长时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18494399/