Хорошо, у меня есть три класса: ClassOne
, ClassTwo
и ClassThree
.
ClassOne
выполняется в потоке Main
, ClassTwo
выполняется в потоке ThreadTwo
, а ClassThree
выполняется в ThreadThree
.
В ClassTwo
и в ClassThree
Я звоню на ClassOne
и наоборот.
ClassTwo::SomeMethod(){
int l_SomeVar = m_ClassOnePointer->SomeAccessorMethod() // return m_SomeVariable
int l_SomeVar = m_ClassOnePointer->SomeConstAccessor() // SomeConstAccessor() const;
int l_SomeVar = m_ClassOnePointer->m_SomeVariable; // Just a standard public int (not const, static, or volatile).
m_ClassOnePointer->m_SetSomeVariable(30);
m_ClassOnePointer->m_SomeVariable = 30;
В настоящее время я использую аксессоры и константные аксессоры, но я не знаю, безопасно ли это для многопоточности, если это не так, как бы мне было безопасно делать это без блокировок.