【发布时间】:2012-06-03 15:09:57
【问题描述】:
如果我在 Linux 下使用Pthread 库创建线程,我需要使用函数pthread_create,作为它接受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;
}
我想做这样的事情,所以我可以将变量的值保留在堆栈上,这样我就可以从我的线程例程中访问它,但我不想为单个变量创建结构或手动分配内存。
我将创建几个这样的线程,所以我想知道在这种情况下我是否可以通过并且不使用列表或动态数组。
【问题讨论】: