c - 向 pthread 发送信号以中止休眠

标签 c linux pthreads signals

我有一个 pthread 函数,大部分时间使用 usleep() 休眠 我想从主进程向线程发送信号以有时中断 sleep 。

问题是我找不到任何关于使用 pthread_kill()

发送哪个信号的引用

usleep() 手册页,声明 SIGALRM 不应与 usleep() 一起使用

我是否需要使用特定信号,这无关紧要?

最佳答案

线程间同步的工具不是信号,usleep (或 nanosleep )但 pthread_mutex_t 的组合和 pthread_cond_t .只需让您的线程等待一个条件(这可以通过超时来完成)并让您的 main线程在条件变量上发送“信号”。

关于c - 向 pthread 发送信号以中止休眠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15679429/

相关文章:

linux - 从 Internet 访问 Python Web 应用程序

linux - "locale"在 Mac OS X 和/或其他 Unix/Linux 操作系统上究竟做了什么

c++ - 如何让写时复制在 Linux 上的共享内存上工作

c - 使用 pthread_cond_t 表示执行结束

c# - 安装完软件后如何安装USB驱动

c++ - 如何在编译器不破坏堆栈的情况下将可变参数与 __stdcall 一起使用

c - 交易前后的sqlite差异

C++ 二维阵列乒乓球板

c - 如何让生产者线程和消费者线程交错运行

c - 销毁分离线程 (POSIX)