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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 曾辉 黑马帝   /  2012-2-3 14:20  /  1460 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

java两个线程锁的问题:当两个线程都被锁了,而且各自调用的方法里有同一个对象,那么只能运行一个线程
但如果各自调用的方法不含相同对象,是不是就可以两个线程同时运行

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

3 个回复

倒序浏览
使用同一锁的同步代码,才不可以被两个线程同时访问,而并不是不能访问同一对象。
回复 使用道具 举报
当两个线程都被锁了,按楼主的意思就是两个线程互斥了 那么都互斥了还假设什么同时运行呢????
回复 使用道具 举报
单个同不代码块:只能有一个线程进入执行
如果有多个同步代码块:如果使用的是同一个锁,则只能有一个线程同时执行,如果使用的是不同的锁,则不能限制线程的执行。

定义同步是为了确保线程安全的
多线程安不安全需要明确四点:
      1,明确线程代码。(即那些是线程要执行的代码)
      2,是否是两个以上线程
      3,多线程操作的是否是同一个对象
      4,是否有多条语句操作同一个数据

同步时要使用同一个锁,如果使用的锁不相同的话那么就不能同步。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马