連続した ID 番号を持つスレッドを C で作成しようとしています。たとえば、10 個のスレッドを作成し、それらに 1 から 10 までの ID を与えたいとします。後で、これらの ID にアクセスしてスレッド関数から出力できるようにしたいと考えています。これは実現可能ですか?
これは簡単に思えるかもしれませんが、どこにも解決策を見つけることができませんでした。
ありがとう
連続した ID 番号を持つスレッドを C で作成しようとしています。たとえば、10 個のスレッドを作成し、それらに 1 から 10 までの ID を与えたいとします。後で、これらの ID にアクセスしてスレッド関数から出力できるようにしたいと考えています。これは実現可能ですか?
これは簡単に思えるかもしれませんが、どこにも解決策を見つけることができませんでした。
ありがとう
スレッド ID は、OS またはスレッド ライブラリによって作成されます。それらがどうなるかを制御することはできません。
ID が連続している必要はありません。配列を作成し、各スレッドの ID を配列に格納します。次に、配列を使用してそれらに順番にアクセスできます。
このようなもの(pthreadsを使用すると仮定):
pthread_t thread_list[100];
int thread_count = 0;
...
pthread_create(&thread_list[thread_count++], NULL, thread_function, NULL);