Рассмотрим следующие фрагменты кода:
class ThreadA::QThread
{
public:
ThreadA()
{
}
void run()
{
myVariable = new int();
*myVariable = 10;
}
void Set(int var)
{
*myVariable = var;
}
private:
int* myVaraible;
}
и следующий код:
class ThreadB::QThread
{
public:
MyThreadB()
{
}
void run()
{
myVariable = 10;
}
void Set(int var)
{
myVariable = var;
}
private:
int myVaraible;
}
Я знаю общую теорию мьютексов, состояния гонки и т. д.
Предполагая, что Set всегда вызывается после запуска потока (т.е. после вызова run()), какой поток владеет «myVariable» при выполнении ThreadA и ThreadB??
Как основной поток и QThread делят ресурсы в таком сценарии??
Каковы область действия и действительность myVariable в QThread (т.е. ThreadA и ThreadB) и его основное приложение??
Спасибо, Вишну.