标签: synchronization locking mute user-thread
如何在用户线程中实现等待锁定?
假设线程A正在尝试获取另一个线程B使用的锁。在A意识到锁被其他线程锁定后,他到底做了什么? 它是如何阻止它自己执行的?谁停下来后跑?
我在内核线程中读到,线程可以调用一个挂起它并将其放入等待队列的系统调用。但是在用户线程中,系统不知道线程,那么是否应该有用户管理的队列?
答案 0 :(得分:0)
用户线程通过系统调用检查锁的可用性,因此决定在系统级别进行,并且正在执行的代码具有必要的权限,以便在必要时将线程放入等待队列。