我有几个帖子作为主要人员的备份,他们的大部分时间都被sem_wait()
阻止了。保留它们是否可以,或者只有在需要进行实际工作时才更好地生成新线程?内核是否会切换到等待sem_wait()
并“浪费”CPU周期的线程?
感谢。
答案 0 :(得分:2)
不,阻塞的线程永远不会为任何常见的线程库和操作系统切换(这将是一个非常糟糕的设计)。但他们当然还会使用记忆。
答案 1 :(得分:0)
选择选项A.
浪费的周期很小。您的线程将始终处于等待状态。
另一方面,启动和停止线程的复杂性,而不是让它们全部启动可能会严重损害您的程序逻辑。