Проблема синхронизации потоков в Embarcadero Builder C++

240
07 февраля 2018, 13:29

Пишу оконное приложение на Embarcadero C++ Builder XE7, ОС Windows 7. В нем при запуске главной формы создается, но сразу не запускается поток.

SenderThread *MySendTestThread = new SenderThread(true);
MySendTestThread->FreeOnTerminate = true;
MySendTestThread->Priority = tpHighest; 

Далее в основной программе я создаю класс MyInterTest и вызываю его функцию, в которой запускается поток MySendTestThread, и дальше бесконечный цикл.

.......
NotEnd = true;
while (NotEnd)
{
    // Какие-то действия
}
.......

Предполагается, что по завершении работы функции SenderThread::Execute() переменная NotEnd будет установлена в false, и программа вышеописанный цикл закончится.

void __fastcall SenderThread::Execute()
{
    // Какие-то действия        
    TestForm->MyInterTest->NotEnd = false;
}

Но выходит, что поток MySendTestThread ждет завершения работы основной программы, а только потом выполняется сам. Может у кого есть варианты, почему так может быть?

READ ALSO
Разложение числа на множители

Разложение числа на множители

Всем привет, надо разложить число на множители(определенные)С маленькими числами все работает

272
Как Отловить вызов функции mono

Как Отловить вызов функции mono

Возможно ли присечь вызовы функций

270
Поощрите лентяя, а то попробовал свой код написать ничего не выходит( [требует правки]

Поощрите лентяя, а то попробовал свой код написать ничего не выходит( [требует правки]

Оценки, полученные спортсменом в соревнованиях по фигурному катанию (в баллах), хранятся в массиве из 18 элементовВ первых шести элементах...

179
Генератор карт в консоли, с ASCII симолами - C++

Генератор карт в консоли, с ASCII симолами - C++

Сделал свой первый небольшой, но интересный проект, генератор карт в консолиГенератор генерирует комнаты и коридоры, которые соединяют эти...

262