黑马程序员技术交流社区

标题: java两个线程锁的问题 [打印本页]

作者: 曾辉    时间: 2012-2-3 14:20
标题: java两个线程锁的问题
java两个线程锁的问题:当两个线程都被锁了,而且各自调用的方法里有同一个对象,那么只能运行一个线程
但如果各自调用的方法不含相同对象,是不是就可以两个线程同时运行
作者: 刘基军    时间: 2012-2-3 14:35
使用同一锁的同步代码,才不可以被两个线程同时访问,而并不是不能访问同一对象。
作者: 最初的理想    时间: 2012-2-4 12:09
当两个线程都被锁了,按楼主的意思就是两个线程互斥了 那么都互斥了还假设什么同时运行呢????
作者: 余海龙    时间: 2012-2-6 16:28
单个同不代码块:只能有一个线程进入执行
如果有多个同步代码块:如果使用的是同一个锁,则只能有一个线程同时执行,如果使用的是不同的锁,则不能限制线程的执行。

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

同步时要使用同一个锁,如果使用的锁不相同的话那么就不能同步。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2