c - 将主线程从 sleep 中唤醒

标签 c multithreading sleep wakeup

如何从子线程中唤醒主线程(当前由于调用 sleep() 函数而处于休眠状态)(子线程不会终止)?

我想让我的主线程等待来自子线程的信号,而不使用无限循环或任何其他消耗 CPU 能力的东西。

我发现的关于这个主题的唯一事情是提到主线程唤醒子线程,而不是相反。

最佳答案

如果您只想暂停线程,直到它从另一个线程接收到信号,这正是 pause function 的作用。是为了。

pause() causes the calling process (or thread) to sleep until a signal is delivered that either terminates the process or causes the invocation of a signal-catching function.

关于c - 将主线程从 sleep 中唤醒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51032418/

相关文章:

multithreading - 单元测试一个线程类,避免在测试中使用 Thread.Sleep()?

java - Java中的线程、等待、通知、 sleep

java - 多线程中的死锁示例

c++ - Fortran 77 转换为 C++

c - C和linux中的虚拟地址分配

c++ - 错误使用条件变量

c - 退出状态如何在 pthread_exit 和 pthread_join 之间传递?手册页中是否需要更正?

c - 0x00c71443 0xC0000005 : Access violation writing location 0x00000028 处未处理的异常

c - 移植代码 : is there any API equivalent to utssys() in Linux? 我需要将 utssys() unix API 移植到 Linux 环境吗?

java - 获取线程的内存使用情况