gpt4 book ai didi

c++ - 重新分配分离的 boost::thread 是否安全

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

例如

boost::thread th = boost::thread(a_lengthy_function);
th.detach();
th = boost::thread(another_function);

第一个线程是否会被第二个线程取消或影响?

最佳答案

来自 boost doc :

A thread can be detached by explicitly invoking the detach() member function on the boost::thread object. In this case, the boost::thread object ceases to represent the now-detached thread, and instead represents Not-a-Thread.

thread() noexcept;Effects:Constructs a boost::thread instance that refers to Not-a-Thread

所以分离的线程与默认构造的线程是一样的。所以,是的,您可以安全地移动分配给默认构造的线程,而您的第二个问题的答案是否定的,这两个线程完全不相关。

仅供引用,这同样适用于 std::thread ...

关于c++ - 重新分配分离的 boost::thread 是否安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47452803/

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