開發平台(Platform): (Ex: Win10, Linux, ...)
win10
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
qt
全局靜態變數
static vector<Class_A> Class_A_List;
static int fun1()
{
//使用到Class_A_List
}
static int fun2()
{
//使用到Class_A_List
}
我在程式中使用了多線程
每個線程在啟動時會創建
Class_A Obj; //會有很多個
並且加入到全局靜態變數內
Class_A_List.push_back(Obj);
並使用靜態函數
fun1();
fun2();
PS:線程各自有Obj
只是全部儲存在Class_A_List
調用fun1()及fun2得去Class_A_List找出Obj
去讀寫Obj
我目前使用線程一個執行完再接一個不會出錯
第一個線程還沒結束 就啟動第二個線程
程式就會終止
問題
請問一下
1.多線程能同時使用同一個靜態函數嗎?
2.多線程能同時使用同一個全局靜態變數 如上面的Class_A_List?
即便它們是各自讀取修改各自的Obj
謝謝