Kev*_*vyp 6 java concurrency multithreading synchronization
想知道是否有人可以帮我解决这个问题.(学生)
假设我们有两个线程,"Thread1"和"Thread2".如果Thread1在方法1中执行,那么Thread2可以在method2中执行吗?
void method1() {
synchronized (this) {
}
}
void method2() {
synchronized (this) {
}
}
Run Code Online (Sandbox Code Playgroud)
我想是的,Thread2可以输入,因为"this"只是该方法的实例或者没有,因为"this"是该类的实例而Thread1保留在它上面.
没有与特定方法关联的监视器 - 有一个与对象关联的监视器.因此,如果您尝试在两个方法中同步对象,则第二个线程将阻塞,直到第一个线程释放监视器.
(就个人而言,我不喜欢同步this- 我同步对一个只有我的班级才能访问的对象的引用.但这是另一回事.)
| 归档时间: |
|
| 查看次数: |
968 次 |
| 最近记录: |