A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

线程同步synchronized
synchronized关键字的用法有两种,一种是在方法上使用,像static一样做为方法的修饰符使用
如这样的方法就是线程同步方法
Public synchronized void methodAAA(){}
另一种是像while代码块一样,代码块内的代码就是同步的
如这样使用的代码
synchronized(Object){}

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

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


2 个回复

倒序浏览
写的不错,多线程那块都快忘了。
回复 使用道具 举报
线程的重点知识点都包括在内了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马