什么“同步”到底如何?
这个问题在这里已经有了答案:
如果T1在方法do()
上获得锁定,即方法在同步块之下。 和程序的其他部分say方法display()
不同步,则其他线程可以访问此方法。 所以你的或者是正确的。
直接从Java文档:
同一对象上的同步方法的两次调用不可能交错。 当一个线程正在执行一个对象的同步方法时,所有其他线程调用同一对象的同步方法块(挂起执行),直到第一个线程完成对象。
所以你后面的解释是正确的。
同步方法确保不会同时为多个对象实例调用此方法,并且在执行同步方法期间,所有相关的实例变量在开始执行方法之前都会刷新。
链接地址: http://www.djcxy.com/p/91855.html