gpt4 book ai didi

java - 停放 JAVA 线程会导致释放任何获取的监视器吗

转载 作者:行者123 更新时间:2023-12-03 12:59:32 26 4
gpt4 key购买 nike

当线程执行通过停放线程而暂停时,是否会导致线程放弃任何已获取的对象监视器的所有权?

简而言之,如果一个线程 (t1) 获取“this”对象的监视器并被停放,而另一个线程 (t2) 尝试通过首先尝试获取“this”的监视器并阻塞来解除停放 t1,则以下代码是否会死锁.

// Thread t1 executes this code first.
syncronized(this) {
LockSupport.park();
}

// Thread t2 then executes this piece of code.
synchronized(this) {
LockSupport.unpark(t1);
}

最佳答案

因为t1会出现死锁被阻止并且仍然拥有 this 的锁对象时 t2正在尝试获取相同的锁。

关于java - 停放 JAVA 线程会导致释放任何获取的监视器吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42964878/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com