std::condition_variable_any::notify_all
Da cppreference.com.
< cpp | thread | condition variable any
![]() | Questa pagina è stata tradotta in modo automatico dalla versione in ineglese della wiki usando Google Translate. La traduzione potrebbe contenere errori e termini strani. Muovi il puntatore sopra al testo per vedere la versione originale. Puoi aiutarci a correggere gli gli errori. Per ulteriori istruzioni clicca qui. |
void notify_all(); | (dal C++11) | |
Unblocks all threads currently waiting for *this.
Indice |
[modifica]Parametri
(Nessuno)
Original:
(none)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[modifica]Valore di ritorno
(Nessuno)
Original:
(none)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[modifica]Eccezioni
[modifica]Esempio
#include <iostream>#include <condition_variable>#include <thread>#include <chrono> std::condition_variable_any cv;std::mutex cv_m;int i =0; void waits(){std::unique_lock<std::mutex> lk(cv_m);std::cerr<<"Waiting... \n"; cv.wait(lk, [](){return i ==1;});std::cerr<<"...finished waiting. i == 1\n";} void signals(){std::this_thread::sleep_for(std::chrono::seconds(1));std::cerr<<"Notifying...\n"; cv.notify_all();std::this_thread::sleep_for(std::chrono::seconds(1)); i =1;std::cerr<<"Notifying again...\n"; cv.notify_all();} int main(){std::thread t1(waits), t2(waits), t3(waits), t4(signals); t1.join(); t2.join(); t3.join(); t4.join();}
Output:
Waiting... Waiting... Waiting... Notifying... Notifying again... ...finished waiting. i == 1 ...finished waiting. i == 1 ...finished waiting. i == 1
[modifica]Vedi anche
segnala un thread in attesa Original: notifies one waiting thread The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (metodo pubblico) |