简述synchronized和java.util.concurrent.locks.Lock的异同 ?

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【thinkanddoit】截止到2008-06-29 05:10:05的历史汇总数据(不包括此帖):
    发帖数:1                  发帖分:100                
    结贴数:0                  结贴分:0                  
    未结数:1                  未结分:100                
    结贴率:0.00  %            结分率:0.00  %            
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  2.   

    主要相同点:  Lock能完成synchronized所实现的所有功能.(其它不重要)  主要不同点:  Lock有比synchronized更精确的线程语义和更好的性能(在相同点中回答此点也行)  synchronized会自动释放锁.而Lock一定要求程序员手工释放.并且必须在finally从句  中释放,如果没有答出在finally中释放不得分.就如Connection没有在finally中关闭一  样.连最基本的资源释放都做不好,还谈什么多线程编程.