一些信息:我必须编写一个程序来控制一些设备(这是基本功能)。但是我必须编写一些插件系统来启用其他自定义功能。我无法控制这些插件的源代码质量,所以我想我会为每个加载的插件创建一个线程,然后它将运行在它自己的主循环中。我能够捕获标准的C++异常,但问题是我不知道如何处理信号。最好的办法是异步取消插件的线程,给他清理和释放资源的机会,或者杀死他,但不知道如何找出哪个线程导致当前信号。有没有办法做到这一点没有明确保存目前执行的线程信息在一些变量?或者这是个坏主意,我应该创建单独的进程,然后运行插件?杀死线程导致SIGSEGV
0
A
回答
0
是的,这完全是一个坏主意。线程是一个合作伙伴,共享几乎所有的东西,编程模型不提供任何隔离。这只是这项工作的错误工具。
0
我会用传统的过程来获得完全的隔离,并使用IPC机制进行通信。
相关问题
- 1. 由SIGSEGV杀死的NDK程序
- 2. Android:杀死线程
- 3. 杀死ASP.NET线程
- 4. MemoryStream.CopyTo()导致线程死锁
- 5. 如何杀死主线程?
- 6. 默默杀死线程
- 7. 用pthreads杀死线程 - C
- 8. 在Python中杀死线程
- 9. 在java中杀死线程
- 10. 杀死一个线程
- 11. 杀死线程在pthread库
- 12. 杀死一个线程
- 13. 杀死线程,真的!
- 14. 杀死暂停的线程
- 15. 线程杀死超时
- 16. 杀死非等待线程
- 17. 如何杀死Perl线程?
- 18. 如何杀死MFC线程?
- 19. 杀死事件线程
- 20. Python的线程,杀死线程
- 21. 线程关闭导致的死锁
- 22. JxBrowser导致线程死锁120秒
- 23. OutOfMemoryError会导致线程死亡吗?
- 24. 杀死进程杀死其他进程
- 25. Android - 杀死其他应用程序进程导致崩溃
- 26. 杀死主线从子线程python
- 27. C++ scanf导致SIGSEGV
- 28. 杀死另一个进程的线程
- 29. 杀死不会杀死进程
- 30. PHP-Python - 杀死python进程导致内存泄漏?