Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Wielowątkowość, C++] Wiele wątków czytających, jeden wątek modyfikujący

Ostatnio zmodyfikowano 2014-10-03 01:35
Autor Wiadomość
DejaVu
Temat założony przez niniejszego użytkownika
[Wielowątkowość, C++] Wiele wątków czytających, jeden wątek modyfikujący
» 2014-10-03 01:35:07
Od czasu do czasu szukam sobie nowych 'usprawnień' języka C++ i dziś zamieszczam znalezioną ciekawostkę ze standardu C++14 :)
Frazy, które należy wpisać w wyszukiwarkę google:

http://stackoverflow.com​/questions/19915152​/c11-multiple-read-and-one-write-thread-mutex

C/C++
std::shared_mutex sekcjaKrytyczna; //boost lub C++14

void funkcjaModyfikacjiDanych()
{
    // Jeden wątek modyfikujący, żaden wątek czytający:
    std::lock_guard < std::shared_mutex > lock( sekcjaKrytyczna );
    // tu bezpieczna modyfikacja danych
}

void funkcjaOdczytuDanych()
{
    // Wiele wątków czytających, żaden wątek modyfikujący:
    std::shared_lock < std::shared_mutex > lock( sekcjaKrytyczna );
    // tu bezpieczny odczyt danych
}
P-117861
« 1 »
  Strona 1 z 1