2

我们可以在使用 pthread_create /(not key_ )时将参数传递给线程,如果它超过了使用每个线程的值。如果关于使用静态存储,我们使用互斥锁,那么,我们使用 pthread_key_create 是什么意思?举例并强调它为什么诞生(应用和需要它)?我听说它对于迁移单线程应用程序很有用,但它们仍然使用互斥锁。那么,重点是什么?

谢谢!

4

1 回答 1

3

pthread_key_create用于为一块线程本地存储创建唯一标识符。

然后每个线程可以为每个键存储不同的值。这在迁移最初使用全局变量的代码时很有用,但您希望每个执行线程都有自己独立的全局值版本。您可以使用线程本地存储来代替全局存储。

在访问属于您所在线程的线程本地数据时,您不需要使用互斥锁。

于 2013-01-09T13:21:46.660 回答