「std::this thread::sleep for」の版間の差分

提供: C++入門
移動: 案内検索
(ページの作成:「std::this_thread::sleep_for とは、指定した相対時間だけ現在のスレッドをスリープします。 '''読み方''' ;std::this_thread::sleep_for:...」)
 
(相違点なし)

2014年9月28日 (日) 11:38時点における最新版

std::this_thread::sleep_for とは、指定した相対時間だけ現在のスレッドをスリープします。

読み方

std::this_thread::sleep_for
えすてぃーでぃー でぃす すれっど すりーぷ ふぉー

概要

namespace std
{
namespace this_thread
{
 
template <class Rep, class Period>
void sleep_for(const chrono::duration<Rep, Period>& rel_time);
 
}  // this_thread
 
}  // std

スレッドをスリープするには、std::chronoシリーズを使用してスリープします。

std::this_thread::sleep_for(std::chrono::nanoseconds(1));	// 1ナノ秒
std::this_thread::sleep_for(std::chrono::microseconds(1))	//  1マイクロ秒
std::this_thread::sleep_for(std::chrono::seconds(1))	// 1秒
std::this_thread::sleep_for(std::chrono::minutes(1))	// 1分
std::this_thread::sleep_for(std::chrono::hours(1))	// 1時間

1分8秒を表現するには、以下のように表現できます。

std::chrono::seconds    sec(8);
std::chrono::minutes    min(1);
 
auto r = min + sec;     // 1分8秒を表現できる

ヘッダファイル

#include<thread>

sleep_for1.cpp の例

ソースコード sleep_for1.cpp

/*
 * sleep_for1.cpp
 * Copyright (C) 2014 kaoru <kaoru@bsd>
 */
#include <chrono>
#include <thread>
 
int main(int argc, char const* argv[])
{
 
        std::chrono::milliseconds dura( 2000 );
        std::this_thread::sleep_for( dura );    // 2000 ミリ秒
 
        return 0;
}

コンパイル

c++ sleep_for1.cpp -o sleep_for1

実行例

sleep_for1 コマンド自体の出力はありません。

% /usr/bin/time ./sleep_for1
        2.03 real         0.00 user         0.00 sys
%

関連項目