0
這是一個全局變量:mutexlocker應該被添加到兩個函數,他們試圖從不同的線程訪問和寫入相同的變量?
extern int i;
兩個線程一個 & 乙嘗試訪問和寫入變量我,在螺紋一個功能,就像下面:
void funA(int *i)
{
QMutexLocker(&m_mutex); //to lock the process
*i += 5;
}
和螺紋乙處理功能:
void funB(int *i)
{
QMutexLocker(&m_mutex); //**should I add this?**
*i -= 2;
}
有兩個線程到店只有一個變量,我要補充QMutexLocker成兩個函數或只加一個?我可以添加一個嗎?
哪裏m_mutex定義?對於所有對i的訪問,它必須是相同的實例。我也會避免全局變量,並使互斥變量和變量成爲某個類的成員。 –