如果我有 3 个 pthread:A、B、C,全部源自同一进程,在用户空间中运行,并且有一个线程,线程 B 从内核模块执行阻塞读取并进入睡眠状态,那么线程 A 和 C 也会结果就睡着了?
根据文档,等待事件中断让调用进程进入睡眠状态,而不是线程。
答案1
经过亲自测试,似乎只有调用线程进入睡眠状态,而没有任何其他线程进入睡眠状态。当一个线程在阻塞读取期间等待时,其他线程仍然处于活动状态。
如果我有 3 个 pthread:A、B、C,全部源自同一进程,在用户空间中运行,并且有一个线程,线程 B 从内核模块执行阻塞读取并进入睡眠状态,那么线程 A 和 C 也会结果就睡着了?
根据文档,等待事件中断让调用进程进入睡眠状态,而不是线程。
经过亲自测试,似乎只有调用线程进入睡眠状态,而没有任何其他线程进入睡眠状态。当一个线程在阻塞读取期间等待时,其他线程仍然处于活动状态。