C pthread键的自己实现

C pthread键的自己实现,c,pthreads,thread-local-storage,C,Pthreads,Thread Local Storage,我的一个现有代码使用了一些特定于线程的键。我打算现在扩展这段代码,它需要创建越来越多这样的键。但是pthread支持每个进程大约1024个键,这是因为在这个限制之后没有创建键,这给我带来了一个问题。关于如何在不使用键的pthread实现的情况下实现最佳相同功能的任何建议?使用: 要允许析构函数,可以使用: typedef struct { void * p; void (*f) (void *); } Key __thread Key * keys[KEYS_MAXIMUM]; 这

我的一个现有代码使用了一些特定于线程的键。我打算现在扩展这段代码,它需要创建越来越多这样的键。但是pthread支持每个进程大约1024个键,这是因为在这个限制之后没有创建键,这给我带来了一个问题。关于如何在不使用键的pthread实现的情况下实现最佳相同功能的任何建议?

使用:

要允许析构函数,可以使用:

typedef struct 
{
  void * p;
  void (*f) (void *);
} Key

__thread Key * keys[KEYS_MAXIMUM];

这里所缺少的只是一些模仿
pthread\u key*
API的包装器。

就目前情况而言,您的问题过于宽泛,无法有意义地回答。你试过什么?有什么特别的问题困扰着你吗?只需提一下,C11有一个相应的特性,
\u Treadlocal
typedef struct 
{
  void * p;
  void (*f) (void *);
} Key

__thread Key * keys[KEYS_MAXIMUM];