多線程調用同一個方法,局部變量會共享嗎

對於一個局部變量應該是各線程獨立的,一個線程不會改變另外一個線程的臨時變量。多線程

多線程時, 幾個線程間輸出信息是交叉在一塊兒的, 但你又沒有區分是哪一個線程輸出的, 因此你本身就誤認爲是同一個線程輸出的東西被改變了.  其實是你本身的理解錯誤.函數

全部線程都用cout輸出內容,你如何判斷哪些內容是哪一個線程輸出的,
並且cout是一個全局變量,多線程同時訪問須要加鎖,不然會出現一些莫名其妙的狀況線程

 

結論: 局部變量是不會被修改的,而全局變量則很容易就被修改了,而你卻還不知道。同步

//////////////////////////////////////////////////////////////////////////變量

多線程中,不一樣線程調用同一個函數,使用的是同一份代碼仍是不一樣線程用函數的多個拷貝?爲何?即每一個線程用一個拷貝函數。
不一樣線程中調用函數的局部變量是否指向的都指向同一個?co

每一個線程有本身的堆棧,因此調用函數時對函數的相關參數也是各有一份的,不用擔憂;只是全局變量須要考慮同步。錯誤

相關文章
相關標籤/搜索