gpt4 book ai didi

c - 获取 pthread 的索引,而不将其作为参数传递给函数。

转载 作者:行者123 更新时间:2023-11-30 15:03:37 25 4
gpt4 key购买 nike

有人告诉我,我可以获得一个 pthread 相对于其他 pthread 的索引(0、1、2 等)。

但是同时使用

pthread_t id = pthread_self();
uint64_t tid;

pthread_threadid_np(NULL, &tid);

给出以下内容。 (例如 4 个 pthreads。)

2134955
2134954
2134956
2134957

232833024
232296448
233369600
233906176

在这种情况下,我希望获取 pthread 的索引 (0,1,2,3)。如果不将其作为参数发送给 pthread 函数,这可能吗?感谢您的帮助。

最佳答案

没有这样的索引。

可移植的是,您拥有的只是 pthread_self() 返回的 pthread_t,它甚至不一定是整数类型,如果是的话,也肯定不是必须以任何特定顺序分配。

如果你想要一个从零开始的整数索引,你需要自己分配。不过,它不一定是线程函数的参数 - 您可以有一个受互斥体保护的全局计数器,每个线程都可以从该计数器为自己分配一个 ID 并递增它。

关于c - 获取 pthread 的索引,而不将其作为参数传递给函数。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40688389/

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