Namensräume
Varianten

std::this_thread::yield

Aus cppreference.com
< cpp‎ | thread

 
 
Thema Support-Bibliothek
Threads
Original:
Threads
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
thread(C++11)
this_thread Namespace
Original:
this_thread namespace
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
get_id(C++11)
yield(C++11)
sleep_for(C++11)
sleep_until(C++11)
Gegenseitigen Ausschluss
Original:
Mutual exclusion
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
mutex(C++11)
timed_mutex(C++11)
Generische Sperrverwaltung
Original:
Generic lock management
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
lock(C++11)
try_lock(C++11)
defer_lock
try_to_lock
adopt_lock
(C++11)
(C++11)
(C++11)
Zustand Variablen
Original:
Condition variables
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
condition_variable(C++11)
condition_variable_any(C++11)
notify_all_at_thread_exit(C++11)
cv_status(C++11)
Futures
Original:
Futures
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
promise(C++11)
future(C++11)
shared_future(C++11)
packaged_task(C++11)
async(C++11)
 
definiert in Header <thread>
void yield();
(seit C++11)
Stellt einen Hinweis für die Umsetzung, um die Ausführung von Threads verschieben, so dass andere Threads zu laufen .
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.

[Bearbeiten]Parameter

(None)
Original:
(none)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[Bearbeiten]Rückgabewert

(None)
Original:
(none)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[Bearbeiten]Beispiel

#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
close