Mam następujący problem i nie wiem jak go rozwiązać, tak aby było dobrze (ładnie).
Jest funkcja pracująca w osobnym wątku:
void WorkingMethod()
{
while(true)
{
// ...
// ...
SendFile();
// ...
// Tu chcę zatrzymać działanie.
}
}
I główny wątek programu, który na calu ma zatrzymać powyższą funkcję, ale dopiero po wysłaniu w niej pliku, po wykonaniu aktualnego loopa(to zajmie trochę czasu). I w tak przedstawionym problemie wystarczyłaby flaga STOP, ale chcę aby w tym miejscu, w głównym wątku, poczekać jeszcze z wykonywaniem dalszego kodu, do czasu, aż zatrzymanie faktycznie będzie miało miejsce.
// ...
// ...
// Stop WorkingMethod, czekając na jej faktyczny stop, wysłanie pliku. NIE poprzez ustawienie flagi STOP i kontynuowanie tego tu kodu.
// Ten kod ma się wykonać dopiero gdy WorkingMethod autentycznie zostanie zatrzymany.
// ...
Proszę o pomoc w prawidłowym rozwiązaniu problemu.