java - 同一类的两个不同对象(如 o1 和 02)具有不同的主题(如 t1 和 t2),它们可以同时执行同步方法吗

标签 java synchronization

假设我有两个同一类的不同对象,它们是否能够同时执行相同的同步方法,因为锁位于对象而不是方法上。

示例:

MyCLass cc= new MyCLass();
MyCLass cc1= new MyCLass();

现在创建两个线程 t1 --- 它将调用 cc.meth t2--它将调用 cc1.meth

// in this case t1 thread get lock on object cc and t2 thread get lock  on object cc1.. it will work
synchronized meth(){
}

正确吗?

最佳答案

我想你的问题在这里得到了解答https://docs.oracle.com/javase/tutorial/essential/concurrency/syncmeth.html ,这表明在执行同步方法时只有同一类的一个实例被锁定,显然即使是由线程执行也是如此。

关于java - 同一类的两个不同对象(如 o1 和 02)具有不同的主题(如 t1 和 t2),它们可以同时执行同步方法吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45115464/

相关文章:

sql-server - sql server 2000与postgresql 8.3的同步

java - 如何不区分顺序地比较两个整数数组

java - 同步块(synchronized block)问题?

algorithm - 同步两个相关对象列表的标准算法是什么?

java - Sonar 配置

java - Java/Android 中类似 Google Drive 的同步机制

python - 阻塞主线程,直到 python 后台线程完成副任务

java - Firestore执行复合查询,事件 "MODIFIED"未拦截

java - 关闭 Hook 与终结器方法

java - FragmentActivity 强制转换以避免静态引用