回答
在pthread/POSIX Thread stack中,您可以使用pthread_kill发送信号给单独的线程;但不幸的是,这并不包括“停止”,“继续”或“终止”。请参阅注释here
如果您只对暂停线程感兴趣,一个狡猾的互斥体和条件变量公式是最好的前进方式。
谢谢你,享受你的赏金;) – 2012-02-27 13:16:19
是的大卫施瓦茨,享受那赏金;) – Marty 2012-03-16 09:01:14
您可以为此使用互斥锁和条件变量。
告诉另一个线程暂停:
锁定互斥。
设置共享
pause
变量为true。释放互斥锁。
要检查是否需要暂停:
锁定互斥。
检查
pause
变量是否设置为true。如果没有,释放互斥并继续。
如果是这样,条件变量块转到步骤2。
取消暂停一个线程:
锁定互斥。
将
pause
变量设置为false。广播条件变量。
释放互斥锁。
但我必须指出,这几乎肯定不是一个明智的做法。没有理由你应该永远不想暂停一个线程。你的外在问题可能就像阻止某个特定类型的工作一样。这应该通过指挥线程完成其他工作来完成,而不是阻止他们从事任何工作。
- 1. Gstreamer 1.0暂停信号
- 2. pthreads信号特定线程
- 3. C pthreads和信号发送
- 4. 暂停()信号处理程序
- 5. pthreads之间的信号处理
- 6. 如何绘制暂停队列信号量的状态图?
- 7. 在Windows中的高级C编程(pthreads,信号和信号量,哦,我的!)
- 8. 一般用于Java中的信号量
- 9. android代码拨号暂停号码
- 10. 哪些信号可用于临时暂停进程linx
- 11. 如何在Linux中传递信号以解除暂停()?
- 12. 使用信号处理程序暂停/恢复子进程
- 13. GDB 7.0,信号SIGCONT不从暂停()调用打破
- 14. 如何确保在使用暂停()时不会丢失信号?
- 15. 暂停循环并暂停
- 16. 什么是一般信号量范围?
- 17. Django的暂时禁止信号
- 18. 暂停matlab信号,执行计算并在Matlab中继续输出相同的信号
- 19. 发送暂停给拨号程序
- 20. 暂停的readline
- 21. BackgroundWorker的暂停
- 22. 暂停
- 23. 暂停
- 24. pthread - 暂停/暂停所有线程
- 25. jquery simplyscroll触发暂停/取消暂停
- 26. 暂停和取消暂停AS2动画
- 27. Libgdx:暂停菜单和暂停状态
- 28. 暂停和取消暂停线程
- 29. jssor:$暂停()不暂停滑块
- 30. NSThread停止/暂停
你想在任何地方或特定地点暂停吗? – Tudor 2012-02-27 07:51:13