对synchronized的一个疑问
oxmll 2005-12-22 11:02:18 在LINUX中,使用spin_lock/spin_unlock来实现锁,调用时,都有一个锁名,例如spin_lock(&lock)/spin_unlock(&unlock)。
但是,在JAVA中,使用synchronized时,例如:
public synchronized read(int Length)
{
......
}
public synchronized write(char c)
{
......
}
并没有显式地指定锁名,系统怎么能判断在read时不能write呢?或者就是简单的将其处理成原子操作?如果我有两个缓冲区,都有read/write操作,这时的代码应该怎么实现呢?我对JAVA的同步不是很懂,哪位能详细的解说一下?