在为了安排目的而禁用线程(尝试获取另一个锁)时释放的线程是否保持锁定?

时间:2016-11-11 05:00:52

标签: java multithreading algorithm locks reentrantlock

让我们说,线程1已经获得了一个(比如说)链表节点的锁定(称之为curr)。线程2已获得对该节点的前任(称之为 - prev)的锁定,并且正在尝试获取curr上的锁定。在线程1释放其对curr的锁定之前,线程2将不会成功。 Java文档说,线程2将被禁用以进行线程调度,并且在获取锁之前处于休眠状态。线程2是否在禁用时释放prev的锁定,并在唤醒时重新获取它(在线程1释放锁定在curr之后)? (这是w.r.t. java) 编辑:附加问题:在c ++中也会发生同样的行为吗?这种行为是否也取决于操作系统?

0 个答案:

没有答案