如何使用连续的id在c中创建线程?

时间:2016-07-20 18:48:24

标签: c multithreading contiguous

我正在尝试在C中创建具有连续ID号的线程。 例如,让我们说我想创建10个线程,然后我想给他们1到10的ID。稍后,我希望能够访问这些ID并从中打印出来线程功能。这可行吗?

我知道这看似简单,但我无法在任何地方找到解决方案。

由于

1 个答案:

答案 0 :(得分:3)

线程ID由OS或线程库创建。你无法控制它们将会是什么。

您不需要ID是连续的。创建一个数组并将每个线程的ID存储在数组中。然后,您可以使用该数组按顺序访问它们。

像这样的东西(假设你使用pthreads):

pthread_t thread_list[100];
int thread_count = 0;

...

pthread_create(&thread_list[thread_count++], NULL, thread_function, NULL);