std::this_thread::yield
Da cppreference.com.
![]() | 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. |
Elemento definito nell'header <thread> | ||
void yield(); | (dal C++11) | |
Fornisce un suggerimento per l'attuazione di riprogrammare l'esecuzione dei thread, permettendo ad altri thread di eseguire.
Original:
Provides a hint to the implementation to reschedule the execution of threads, allowing other threads to run.
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]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]Esempio
#include <iostream>#include <chrono>#include <thread> // "busy sleep" while suggesting that other threads run // for a small amount of timevoid little_sleep(std::chrono::microseconds us){auto start = std::chrono::high_resolution_clock::now();auto end = start + us;do{ std::this_thread::yield();}while(std::chrono::high_resolution_clock::now()< end);} int main(){auto start = std::chrono::high_resolution_clock::now(); little_sleep(std::chrono::microseconds(100)); auto elapsed = std::chrono::high_resolution_clock::now()- start;std::cout<<"waited for "<<std::chrono::duration_cast<std::chrono::microseconds>(elapsed).count()<<" microseconds\n";}
Possible output:
waited for 128 microseconds