论坛首页 入门技术论坛

关于Java的线程同步问题的总结

浏览 8017 次
精华帖 (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。
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics