【问题标题】:Terminating a thread from within the thread in C/C++ without the thread handle在没有线程句柄的情况下从 C/C++ 中的线程内终止线程
【发布时间】:2018-02-17 09:25:20
【问题描述】:

我正在使用 C 在 Windows 中编写一个多线程应用程序。在我的应用程序中,我必须从线程内终止线程。我没有线程句柄,所以我不能使用关闭句柄()函数。任何人都可以提出一个处理这种情况的想法。接受 MSDN c++ 和 WIN32 函数....谢谢,提前:-)

【问题讨论】:

  • 重新设计你的代码,让你有句柄
  • 直接退出线程过程。
  • 为什么要标记 ++?当你说它是 C
  • exitthread() 函数是否终止线程..对不起,我是编程新手..
  • 重新设计你的代码,这样你就不需要显式地终止线程了。

标签: c++ c multithreading


【解决方案1】:

为了终止线程,您可以使用ExitThread

编辑:正如 Oliv 在 cmets std::terminate 中提到的那样,abortexit 会关闭整个程序。

【讨论】:

  • 发帖人说是C
  • C 中的 exitthreadex() 函数是否会终止线程,或者即使在调用 exitthread() 函数之后我也应该调用 closehandle()....
  • @viji ExitThread 终止线程,你就完成了。看this
  • @viji 查看答案中的最后一个链接以检查 ExitThread 挑战。
  • 是否不需要调用 closehandle() 函数.. 如果我不使用 closehandle() 是否会更安全/正确的线程终止..
猜你喜欢
  • 2014-02-13
  • 1970-01-01
  • 1970-01-01
  • 2021-12-17
  • 2015-11-22
  • 2021-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多