用户线程中的等待锁是如何实现的?
假设线程A正在尝试获取另一个线程B使用的锁。A意识到锁被其他线程锁定后,他究竟做了什么?它如何停止自己的执行?他停下来后谁跑?
我在内核线程中读到,线程可以调用一个系统调用来挂起它并将其放入等待队列中。但是在用户线程中,系统不知道线程,所以应该有一个由用户管理的队列吗?
用户线程中的等待锁是如何实现的?
假设线程A正在尝试获取另一个线程B使用的锁。A意识到锁被其他线程锁定后,他究竟做了什么?它如何停止自己的执行?他停下来后谁跑?
我在内核线程中读到,线程可以调用一个系统调用来挂起它并将其放入等待队列中。但是在用户线程中,系统不知道线程,所以应该有一个由用户管理的队列吗?