我創建了一個調用函數以更改變量值的線程,但是當它完成時,值不再被更改。線程更改變量值並查看其外部的更改
它只是一個例子,它不是真正的代碼。
THREAD1:
if(size = socket.recv(data))deserializeData(data)
deserializeData(){
//Deserialize the data (csv format) and then copy to command
command = tmp;
}
Outside the thread
cout << command
線程內,deserializeData如果我把它正確地顯示了命令,但外面當我做COUT它顯示什麼。
我看到了易失性,但我試着用我的字符串變量,它不工作。
感謝
是否有多個線程可以訪問該變量? – Erwald 2012-04-24 18:09:45
'不是真正的代碼'意味着你將無法獲得太多'真正的幫助' – 2012-04-24 18:10:14
定義了'command'的範圍和範圍?你確定'cout'在作業後被執行了嗎? – smocking 2012-04-24 18:12:20