我真好在看多线程设计模式这本书,我对多线程粗略的谈谈我看法,说的不好的地方请包涵,
synchronized一般用于多线程访问的实例中:
1 方法
2代码块
synchronized修饰的方法,或者代码块,其实就你可以把它看成被锁住的方法或者代码块。一当有一个线程进入代码块,而且该实例中的所有被synchronize锁住的方法,都不允许其他线程线程进入。其他线程等待进入的线程会被放入entrySet等待区进行等待。一旦synchronize中的线程解锁后(就是执行完synchronize修饰的方法)。所有等待的线程会去抢着进入synchronize区。
lock我不知道你所的是什么意思 如果是synchronize块的话,如synchronize(监事对象){},一般监视对象用实例来监视,不过也有用 类.class 来监视 ,表示监视该类的所有对象
condition 不知道你是想知道什么 。 如果对线程模糊的话 建议去看<<java多线程设计模式 >>
如果还有什么不懂可以问我 |