Pthread
Linuxでライブラリを使用してスレッドを作成する場合、必要なpthread_create
引数の1つとして関数を使用する必要がありますvoid *
。これにより、何かへのポインターを渡すことができ、スレッドルーチンがそれにアクセスできるようになりますが、次のようなことをしても安全です。これ
{//some scope
int a=5//scope variable
pthread_create(&id,NULL,some_function,(void*)a);
}//end of scope
そして私のルーチンでは:
void *some_function(void *_arg)
{
int a=(int)arg;
return NULL;
}
このようなことをしたいので、変数の値をスタックに保持して、スレッドルーチンからアクセスできるようにしますが、単一変数の構造体を作成したり、手動でメモリを割り当てたりしたくありません。
このようなスレッドをいくつか作成するので、このような状況でリストや動的配列を使用せずに済ませることができるかどうかを知りたいと思いました。