CPU的自愿产出是linux pthread库中的线程能够在同一进程下调度另一个线程的唯一方式吗?(因为pthread是一个用户级线程实现?)
似乎pthread_yield()和互斥(由pthread库提供)是调用调度器来启动另一个线程执行的唯一方法。这是真的吗?
发布于 2018-09-10 01:04:50
不,任何阻塞当前线程的调用都会调度另一个线程。这包括诸如sleep()、read()、select()、pthread_mutex_lock()等库调用。
请注意,pthread在linux上不是一个纯粹的用户级线程实现,它将一个用户模式线程映射到一个内核任务。
https://stackoverflow.com/questions/52246752
复制相似问题