黑马程序员技术交流社区

标题: 线程同步synchronized关键字的使用与理解 [打印本页]

作者: liaorubei    时间: 2014-9-7 23:18
标题: 线程同步synchronized关键字的使用与理解
线程同步synchronized
synchronized关键字的用法有两种,一种是在方法上使用,像static一样做为方法的修饰符使用
如这样的方法就是线程同步方法
Public synchronized void methodAAA(){}
另一种是像while代码块一样,代码块内的代码就是同步的
如这样使用的代码
synchronized(Object){}

注意:
A.无论synchronized关键字加在方法上还是对象上,它取得的锁都是对象,而不是把一段代码或函数当作锁――而且同步方法很可能还会被其他线程的对象访问。
   其中实例同步函数的锁的对象是this,静态同步函数的锁的对象是Class对象
B.每个对象只有一个锁(lock)与之相关联。
C.实现同步是要很大的系统开销作为代价的,甚至可能造成死锁,所以尽量避免无谓的同步控制。

做一个小总结,就不写太多内容了,当大家看到的时候就当是复习吧。其中懒汉式的单例模式有助于加深理解这个线程同步理解和应用。



作者: Nullifier    时间: 2014-9-8 09:39
写的不错,多线程那块都快忘了。
作者: 小布袋    时间: 2014-9-16 11:00
线程的重点知识点都包括在内了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2