gpt4 book ai didi

multithreading - 检测线程端

转载 作者:行者123 更新时间:2023-12-03 13:03:46 24 4
gpt4 key购买 nike

如何检测线程何时终止(以与平台无关的方式)?
我必须为每个线程存储对象的副本,我想知道何时可以处理或重新分发它。

最佳答案

这可能是通过RAII和local_thread机制实现的。我们创建一个类,在析构函数中做有用的工作。

class ThreadEndNotifer
{
public:
~ThreadEndNotifer()
{
// Do usefull work
useFullWork();
}
}

接下来,我们创建 local_thread变量。它可以是全局或类feild(thread_local类字段是隐式静态的)。
class Foo 
{
private:
// Remember about initialization like static feild
thread_local ThreadEndNotifer mNotifer;
}

因此,每次线程结束时都会调用 useFullWork
我喜欢创建一个全局变量并仅在需要时将其初始化,这样可以避免开销。

关于multithreading - 检测线程端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41758170/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com