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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 欧阳博 中级黑马   /  2012-3-1 17:06  /  2163 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1,麻烦大家说说java 线程安全的方法有哪些?什么情况下会造成线程安全?

1 个回复

倒序浏览
四种方式sychronized关键字
1.    sychronized method(){}
2.    sychronized (objectReference) {/*block*/}
3.    static synchronized method(){}
4.    sychronized(classname.class)
其中1和2是代表锁当前对象,即一个对象就一个锁3和4代表锁这个类,即这个类的锁,
要注意的是sychronized method()不是锁这个函数sychronized,那么只要有两个线程共享一个该类的reference,每个调用这两个方法之一,不管是否同一个方法,都会用这个对象锁3和4类推,即该类的不同reference调用了sychronized区段的咚咚就会受类锁的控制进行同步。锁类的,而是锁对象,即:如果这个类中有两个方法都是
还有,如果两个函数调用的先后顺序不能被打断,那么可以有个专门的锁对象来完成这个任务:
class MyLock
{
      synchronized getLock()
      {
        //.....
      }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马