Рассмотрим следующие фрагменты кода:
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) и его основном приложении ??
Спасибо,
Вишну.