1.Sleep()関数
ヘッダー ファイル:
Windows: windows.h
Linux: unistd.h
注:
(1) スリープでは大文字と小文字が区別されます。一部のコンパイラは大文字で、一部は小文字です。
(2) スリープの括弧内の時間は、Windows ではミリ秒単位ですが、Linux では秒単位です。
2. sleep_for() 関数
C++11 の Chrono を使用してスリープ制御を実装することもできます。
this_thread::sleep_for(seconds(2));
スリープ時間は秒数以外にも次のとおりです。
std::chrono::nanoseconds
std::chrono::microseconds
std::chrono::milliseconds
std::chrono::seconds
std::chrono::minutes
std::chrono::hours
例:
#include <chrono>
#include <thread>
#include <iomanip>
int main() {
std::chrono::time_point<std::chrono::system_clock> now = std::chrono::system_clock::now();
time_t tc = std::chrono::system_clock::to_time_t(now);
std::cout << "now date time:" << std::put_time(localtime(&tc), "%Y-%m-%d %H:%M:%S") << std::endl;
std::this_thread::sleep_for(std::chrono::seconds(2));
std::chrono::time_point<std::chrono::system_clock> end = std::chrono::system_clock::now();
std::chrono::duration<double> dur = end - now;
std::chrono::duration<double, std::micro> durmicro = end - now;
std::chrono::duration<double, std::milli> durmilli = end - now;
std::cout << "second:" << dur.count() << ";micro:" << durmicro.count() << ";milli:" << durmilli.count() << std::endl;
std::cout << "duration_cast:" << std::chrono::duration_cast<std::chrono::seconds>(end - now).count() << std::endl;
return 0;
}
結果:
参考: