如果下面的代码会等待或跳过块的执行,我很困惑,
synchronized(lock)
{
//Do something...
//...
//...
//...
}
是否可以使用布尔值作为同步的参数?什么是互斥锁? 如果它不会等待,它的唯一目的是使代码语句线程安全并且仅用于基于关键部分的访问吗?
答案 0 :(得分:3)
@synchronized将一直等到锁可用。它声明了代码块周围的关键部分。在多线程代码中,@ synchronized保证在任何给定时间只有一个线程可以在块中执行该代码。