【问题标题】:Is there an easy way to close multiple handles?有没有一种简单的方法可以关闭多个手柄?
【发布时间】:2015-04-20 16:14:25
【问题描述】:

有没有办法在 C++ 中关闭线程的多个句柄而不必单独关闭它们?我有一些带有句柄的线程存储在一个数组中,因此我可以在关闭它们之前使用WaitForMultipleObjects()。我知道我可以在数组中的每个句柄上调用CloseHandle(通过循环或仅一个接一个),但我想知道是否有一种简单的方法可以将它们全部关闭。比如可能在阵列本身上运行CloseHandle(如果可以的话)?或者是否存在类似于CloseMultipleHandles() 的方法?提前致谢。

【问题讨论】:

  • 我怀疑这是一个 winapi 问题而不是 c++
  • 一个一个地关闭(加入)每个线程(你多久做一次!?)

标签: c++ multithreading winapi handles


【解决方案1】:

没有。 Loop 和 CloseHandle 是最简单的解决方案。 (并不是说实现起来非常困难……)。

但是你总是可以创建一个 CloseAllHandles 函数,它需要一个句柄数组来关闭它们......

【讨论】:

  • 不是最简单的,唯一的
  • @DavidHeffernan: 也没有更简单的 ;-) 所以它是最简单的唯一的。
猜你喜欢
  • 2016-07-19
  • 1970-01-01
  • 2020-02-12
  • 1970-01-01
  • 1970-01-01
  • 2012-02-25
  • 1970-01-01
  • 2011-08-29
  • 1970-01-01
相关资源
最近更新 更多