如果我想通过pthread_create()将char *传递给各个线程,并且我希望它们独立工作,那么安全地使用它最简单的方法是什么?关于线程和可变复制的简单问题(不需要同步)
我发现我得到不稳定的行为,如果我做
伪代码:
func1() { // part of a loop
Create var..
func2(var);
}
func2(char* var) { // spawn a thread
pthread_create(.....,&func3,(void*)var);
}
func3(void* var) {
work with the var // unstable behavior
}
没有必要进行任何数据通信,线程刚刚得到的VAR,然后忽略什么程序的其余部分是在做。他们只是在他们得到的变种上工作。