我想在Linux中产生一个多线程进程。我知道通过调用sched_yield
可以产生一个线程。另一方面,我想通过调用sleep(0)
可以产生整个过程,因为sleep
在进程级别工作。我是对的吗?
答案 0 :(得分:5)
sched_yield将产生当前正在运行的线程,放弃其余的时间片。然后处理器上下文切换到下一个线程。该线程是否属于您的进程的另一个是未知的。它可能是,它可能不是。
为了产生整个过程,您需要产生该过程中存在的每个线程。睡眠效果相似。它将为该特定线程而不是整个过程休眠。
答案 1 :(得分:3)
错误。
sleep()使调用线程睡眠直到秒秒 已过去或信号到达但未被忽略。
从评论中我看到人们使用过时的网站作为手册页。停止使用该站点,使用应该是最新的kernel.org页面。