在c++中主线程怎样干掉另一个线程
阻塞式线程最好有机制定期检查cancel标记,比如一个std::atomic\u0026lt;bool\u0026gt;
在C#中,一般是用 CancellationToken
■网友
多线程之间的通讯可以用发消息的方式来完成通讯。 我们可以这样设计, 不同线程都是一个个runloop, 他们共享一个message queue。 我们会将发动的消息一个个装到这个queue里面。 比如取消中断某个线程的runloop, 线程在每次循环后去检查这个mq, 然后来根据里面的信号完成操作。 这样就不会被阻塞。 基本上qt cocoa android .net这些主流的UI框架都是基于这个原理来完成多线程通讯的。 这个机制还可以发消息让不同的线程来完成函数调用过程。 也就是invoke。。
■网友
std::thread只支持合作式,不能interrupt也不能kill。另外按照你说的应用场景,kill被阻塞的线程是没必要的,让它阻塞结束之后主动退出是更合适的方法。
■网友
【在c++中主线程怎样干掉另一个线程】 了解一下非阻塞socket:select poll epoll iocp
■网友
基于Windows?试试TerminateThread
■网友
干掉线程很容易,可如何为线程收尸呢?
推荐阅读
- 非计算机专业想要利用课余时间深入自学C++,想要找到比较体面的工作大概需要啥水平
- Java工程师和C++工程师在工作上有啥区别哪个更适合自身发展
- C、C++、java等编程语言都有哪些坑
- c++写http服务器不用cgi和apache该用啥
- 看完c++ primer plus 还有必要再买本c++ primer看吗?
- 有人可以把C,C++,Python等编程语言开发出来,而我们却难以精通,这说明了啥问题
- 如果我们把快播事件中主人公换成李彦宏马化腾会出现咋样的结果
- MFC能用其他语言来替代吗?
- 看完一本C++书后应该学啥
- C++程序测试软件有哪些比较好
