gpt4 book ai didi

c++ - 不同线程中的多个 atexit 处理程序

转载 作者:搜寻专家 更新时间:2023-10-31 00:41:58 25 4
gpt4 key购买 nike

我对在多线程应用程序中使用 atexit 有疑问。

假设我有以下场景

 Thread A calls atexit(handler_a)
Thread B calls atexit(handler_b)
main() calls atexit(handler_main)
Thread C calls atexit(handler_c)
....

所有处理函数是在一个单独的线程中执行还是在单独的线程中执行?

如果它们确实在单个线程中执行(一个接一个),那个线程会是主线程吗?

我正在使用 Linux 和 g++。

最佳答案

正如 rici 所说,atexit 处理程序是从调用 exit 的线程调用的。如果你想要每线程处理程序,你可以使用 pthread_key_create 析构函数。

关于c++ - 不同线程中的多个 atexit 处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12542520/

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