gpt4 book ai didi

c++ - 同一个线程 ID 可以在同一个进程中重复使用吗?

转载 作者:行者123 更新时间:2023-11-27 22:37:28 30 4
gpt4 key购买 nike

我在映射中存储每个线程的信息(映射的键是线程 ID)。

但是,我想知道这是否真的是个好主意。我看到每个线程都有不同的 ID,但这真的意味着“每个线程”还是“每个事件线程”。我的意思是,在同一个进程中,新线程可以使用与结束的旧线程相同的 ID 吗?

我在 Android 上遇到过,对于两个不同的线程,奇怪的是 syscall(__NR_gettid) 是不同的,而 boost::this_thread::get_id() 是相同的。它是一个“错误”,还是很可能会发生。

最佳答案

pthread 的文档(std::threadboost::thread 使用)说,

Thread IDs are guaranteed to be unique only within a process. A thread ID may be reused after a terminated thread has been joined, or a detached thread has terminated.

http://man7.org/linux/man-pages/man3/pthread_self.3.html

所以,是的,一个新线程可以重用同一进程内死线程的 ID。

关于c++ - 同一个线程 ID 可以在同一个进程中重复使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52442719/

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