obiekt w wątku

0

Mam napisaną klasę której zadaniem jest wyswietlanie czegos co pewien czas. Czy da się uruchomić ten obiekt w watku.. tylko ze tak zeby nie bylo kodu boost.thread w funkcji main tylko zeby byl on w samej klasie??

0

Da się. Szukać!

0

Ok, dzięki pomogło..tylko że teraz pojawił się nowy problem...

Czy da się zrobić tak aby procesor nie czekał aż zakończy działanie wątek tylko analizował dalszą część kodu?? Nie chodzi mi tu o tworzenie grupy wątków.

0

Zawsze tak jest, albo nawet prawie. :-D
System startuje wątek, a dalej to już dzielenie zasobów, konkurencja itd.

Obniż priorytet wątku, a wtedy ten główny (i być może inne) zawsze wygrają,
czyli tamten będzie ostatni w kolejce do procesora...

0

A u mnie jest tak:
w pewnej klasie znajduje się funkcja - void nazwaKlasy::wWatku();
a main w skrocie wygląda tak:

int main()
{
nazwaKlasy obiekt;
obiekt.wWatku();
for(int i=0;i<20;i++)
{
       //string
}
}

Pierw przez kilka minut wyswietlają się dane z obiektu uruchomionego w wąteku po czym 20 razy zadany string.
Nie zależy mi w jakim momencie wyświetli się string, tylko tyle żeby wyświetlał się w czasie wyświetlania danych z obiektu (pomiędzy). Możliwe jest coś takiego??

0

Nie wiem dokładnie o co chodzi, ale wywołanie funkcji
sleep(0) (może Sleep(0) )
oznacza rezygnację z przydzielonego czasu (procesora).
Wtedy system przydzieli ten czas innemu wątkowi.

for(...)
{ 
  Sleep(0); //  1ms 
  
  robota;
}
0

jesli uzywasz boost.thread to od tego jest thread.yield()

1 użytkowników online, w tym zalogowanych: 0, gości: 1