如果我想通過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,然後忽略什麼程序的其餘部分是在做。他們只是在他們得到的變種上工作。