一个对象只有一把监视锁,同一时间只可能被一个线程获得.
比如说对象t有同步方法foo(),之前那句话的意思就是永远不可能有两个线程同时进入foo方法.在多核或者多CPU的环境下,如果两个线程总是同时想获得t的监视锁然后进入foo(当然这仅仅是假设会有这么一种情况,为了更好表达我的疑惑),那程序是不是就停在那不前进了?
比如说对象t有同步方法foo(),之前那句话的意思就是永远不可能有两个线程同时进入foo方法.在多核或者多CPU的环境下,如果两个线程总是同时想获得t的监视锁然后进入foo(当然这仅仅是假设会有这么一种情况,为了更好表达我的疑惑),那程序是不是就停在那不前进了?
而监视锁是保存在内存中,访问还是顺序的。