同步注意事项--类和对象的不同级别同步

类同步和对象同步的区别
理解类和对象的区别
------------------------------------------------------------
类可以有一组实例(类对象)

对象只是一个实例(类的实例)
------------------------------------------------------------
类级别的同步,
   保证该类所有实例对象,使用临界资源时同步
   低效

对象级别的同步,使用临界资源时同步
   只是保证本对象内同步
   类的不同实例对象间不保证
------------------------------------------------------------
同步实例(类的对象)包含的方法,使用同步非静态方法。方法要私有。
    synchronized.....
    由此扩展同步非静态变量,非静态块

同步类包含的方法,使用同步静态方法。方法要私有。
static synchronized ....
    由此扩展同步静态变量,静态块

------------------------------------------------------------
注意:
     特别是模式中的singleton,容易使用对象级别的同步
------------------------------------------------------------
注意:
     synchronized (this)
     只是一个对象级别的同步
------------------------------------------------------------
技巧:
     一个类级别同步的例子
private static String class_sync = "class_sync";
...
synchronized (class_sync)
------------------------------------------------------------

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章