锁定老帖子 主题:关于Java的线程同步问题的总结
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-01-17
这个东西一直感觉应该是挺简单的,怎么越说越糊涂了?我说几个我的理解吧,如果有误请大家指出:
1.synchronized是锁对象,根本不存在锁代码块的概念 2.synchronized锁定的对象 (1)synchronized(obj){}-> 这个当然是锁obj (2)public void synchronized function(){} -> 这个锁的是function这个方法所在的对象,相当于 public void function() { synchronized(this){} } (3)public static void synchronized function() ->对于静态方法,锁定的是当前类(假设是类TestClass)的Class对象,相当于 public static void function() { synchronized(TestClass.class) {} } 3.jdk1.5中的concurrent包 这个东西一直就存在的,没记错的话是一个大学的教授写的(名字忘了,挺佩服这人的),一直都是以一个工具包的形式存在,因为这个包写的太好,jdk1.5时被收录到jdk的标准包,以java.util.concurrent的形式出现。 这个concurrent包实际也是对java的同步,锁这些操作的一个代码封装, java本身的机制并没有做任何修改。 对于jdk1.5以前的jdk如jdk1.4,可以去找concurrent这个包的以前的版本,google一下应该就能出来的,不必拘泥于jdk1.5。 |
|
返回顶楼 | |