gpt4 book ai didi

linux - pthread.h - 自愿 CPU 让出是调度另一个用户级线程的唯一触发器吗?

转载 作者:太空宇宙 更新时间:2023-11-04 04:53:49 28 4
gpt4 key购买 nike

CPU 的自愿让出是 Linux pthread 库中的线程可以在同一进程下调度另一个线程的唯一方法吗? (因为pthread是用户级线程实现?)

似乎 pthread_yield() 和互斥体(由 pthread 库提供)是调用调度程序来启动另一个线程执行的唯一方法。这是真的吗?

最佳答案

不,任何也会阻塞当前线程的调用都会调度另一个线程。这包括 sleep()、read()、select()、pthread_mutex_lock() 等库调用等。

请注意,pthread 不是 Linux 上的纯用户级线程实现,它将 1 个用户模式线程映射到 1 个内核任务。

关于linux - pthread.h - 自愿 CPU 让出是调度另一个用户级线程的唯一触发器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52246752/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com