[c++] Wielowątkowość - funkcja mutex()


(Withorlo2) #1

Siemano, potrzebny mi do pewnego programu konsolowego zegar, który mógłby się automatycznie odświeżać przy czym jednocześnie nie blokowałby całego programu co przy użyciu pętli jest nie możliwe. Pisząc w Qt programy z GUI używałem do tego celu funkcji mutex() ale tam było mi to jakoś łatwiej zrozumieć natomiast na podstawie tego przykładu trochę nie ogarniam.

Prosiłbym o pomoc w implementacji mutexa dla tego kodu:

#include 

#include 

[...]

time_t t = time(0);

struct tm * now = localtime( & t );

cout << now->tm_hour<< ':' << now->tm_min << ':' << now->tm_sec << endl;

(Rolek0) #2

Podejrzewam, że funkcja mutex(), należała do biblioteki Qt.

Jeśli chodzi o WinAPI to polecałbym raczej CRITICAL_SECTION, koncepcja ta sama, nie posiada wszystkich bajerów Windowsowych mutexów, ale jest prostsza w użyciu.

Jeśli twój kompilator obsługuje C++11 to możesz użyć std::mutex.


(etam) #3

http://www.boost.org/doc/libs/1_53_0/do … hread.html