最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++ sleep()和usleep()的區(qū)別

 更新時(shí)間:2023年03月09日 09:36:27   作者:My.科研小菜雞  
本文主要介紹了C++ sleep()和usleep()的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

sleep() 和 usleep()主要區(qū)別前者單位為秒,后者為微妙(*1e6)

C++ sleep() 和 usleep()

代碼如下:設(shè)置一個(gè)時(shí)間參數(shù),分別向sleep()和usleep()方法傳入該參數(shù),打印sleep和usleep前后的系統(tǒng)時(shí)間戳

#include <time.h>
#include <stdio.h>
#include <iostream>
#include <unistd.h>

using namespace std;
int main(int argc, char *argv[]){
? ? int sleep_time = 100;
? ? cout << "sleep before time: " << time(NULL) << endl;
? ? sleep(sleep_time);
? ? cout << "sleep after time: " << time(NULL) << endl;

? ? cout << "======================" << endl;

? ? cout << "usleep before time: " << time(NULL) << endl;
? ? usleep(sleep_time);
? ? cout << "usleep after time: " << time(NULL) << endl;
}

運(yùn)行結(jié)果:

sleep before time: 1560257692
sleep after time: 1560257792
======================
usleep before time: 1560257792
usleep after time: 1560257792

從運(yùn)行結(jié)果來看,sleep()方法執(zhí)行前后的時(shí)間戳相減正好是sleep_time大小,打印的時(shí)間戳是以秒為單位的,所以sleep()方法將程序掛起使用的單位是秒級(jí)別的;從usleep()執(zhí)行前后的時(shí)間戳來看,感覺上程序并沒有被掛起,這是因?yàn)閡sleep()方法將程序掛起的使用的單位是微秒級(jí)別的(1,000,000 微秒 = 1秒)所以程序看起來并沒有被掛起,下面我們將打印的時(shí)間戳改為微秒級(jí)別的看看。

可以通過<sys/time.h>庫中的gettimeofday()方法來拿到當(dāng)前系統(tǒng)的微秒級(jí)別時(shí)間。

#include <stdio.h>
#include <iostream>
#include <unistd.h>
#include <sys/time.h>

using namespace std;
int main(int argc, char *argv[]){
? ? int sleep_time = 100;
? ? cout << "sleep before time: " << time(NULL) << endl;
? ? sleep(sleep_time);
? ? cout << "sleep after time: " << time(NULL) << endl;

? ? cout << "======================" << endl;

? ? cout << "usleep before time: " << time(NULL) << endl;
? ? usleep(sleep_time);
? ? cout << "usleep after time: " << time(NULL) << endl;

? ? cout << "======================" << endl;
? ? struct timeval tv; ?
? ? gettimeofday(&tv,NULL);?
? ? cout << "not usleep before time: " << tv.tv_sec<<"s,"<<tv.tv_usec<<"微秒"<<endl;
? ? usleep(0);
? ? gettimeofday(&tv,NULL);?
? ? cout << "not usleep after time: " << tv.tv_sec<<"s,"<<tv.tv_usec<<"微秒"<<endl;
? ? cout << "======================" << endl;
? ? gettimeofday(&tv,NULL);?
? ? cout << "usleep before time: " << tv.tv_sec<<"s,"<<tv.tv_usec<<"微秒"<<endl;
? ? usleep(sleep_time);
? ? gettimeofday(&tv,NULL);?
? ? cout << "usleep after time: " << tv.tv_sec<<"s,"<<tv.tv_usec<<"微秒"<<endl;
}

運(yùn)行結(jié)果

sleep before time: 1560260201
sleep after time: 1560260301
======================
usleep before time: 1560260301
usleep after time: 1560260301
======================
not usleep before time: 1560260301s,491772微秒
not usleep after time: 1560260301s,491948微秒
======================
usleep before time: 1560260301s,491962微秒
usleep after time: 1560260301s,492191微秒

從使用usleep(0)和使用了usleep(100)方法來看,執(zhí)行前后的時(shí)間差差不多相差100,從而可以看出usleep()是以微秒級(jí)別為單位的。

到此這篇關(guān)于C++ sleep()和usleep()的區(qū)別的文章就介紹到這了,更多相關(guān)C++ sleep() usleep()內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vs運(yùn)行時(shí)報(bào)C4996代碼錯(cuò)誤的問題解決

    vs運(yùn)行時(shí)報(bào)C4996代碼錯(cuò)誤的問題解決

    C4996錯(cuò)誤的意思:是VS覺得strcpy這函數(shù)不安全,建議你使更安全的函數(shù),那么如何解決呢,本文主要介紹了vs運(yùn)行時(shí)報(bào)C4996代碼錯(cuò)誤的問題解決,感興趣的可以了解一下
    2024-01-01
  • c++學(xué)習(xí)之構(gòu)造函數(shù)

    c++學(xué)習(xí)之構(gòu)造函數(shù)

    類多么重要我就不多說了,只講講學(xué)習(xí),因?yàn)閭€(gè)人認(rèn)為類的學(xué)習(xí)無論從概念的理解還是實(shí)際代碼的編寫相對其他C兼容向的代碼都是比較有難度的, 對于以前學(xué)C 的人來說這才是真正的新概念和內(nèi)容,STL其實(shí)還比較好理解,不就是一個(gè)更大的函數(shù)庫和代碼可以使用嘛。
    2015-06-06
  • C++中static修飾符的詳解及其作用介紹

    C++中static修飾符的詳解及其作用介紹

    這篇文章主要介紹了C++中static修飾符的詳解及其作用介紹,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • 淺談2路插入排序算法及其簡單實(shí)現(xiàn)

    淺談2路插入排序算法及其簡單實(shí)現(xiàn)

    這篇文章主要介紹了淺談2路插入排序算法及其簡單實(shí)現(xiàn),雖算不上是常用的排序方法,但在數(shù)據(jù)庫等方面依然有用上的機(jī)會(huì),需要的朋友可以參考下
    2015-08-08
  • C語言實(shí)現(xiàn)linux網(wǎng)卡連接檢測的方法

    C語言實(shí)現(xiàn)linux網(wǎng)卡連接檢測的方法

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)linux網(wǎng)卡連接檢測的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • C++實(shí)現(xiàn)小型圖書管理系統(tǒng)

    C++實(shí)現(xiàn)小型圖書管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)小型圖書管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C語言?動(dòng)態(tài)內(nèi)存管理全面解析

    C語言?動(dòng)態(tài)內(nèi)存管理全面解析

    動(dòng)態(tài)內(nèi)存是相對靜態(tài)內(nèi)存而言的。所謂動(dòng)態(tài)和靜態(tài)就是指內(nèi)存的分配方式。動(dòng)態(tài)內(nèi)存是指在堆上分配的內(nèi)存,而靜態(tài)內(nèi)存是指在棧上分配的內(nèi)存,本文帶你深入探究C語言中動(dòng)態(tài)內(nèi)存的管理
    2022-02-02
  • Qt之簡單的異步操作實(shí)現(xiàn)方法

    Qt之簡單的異步操作實(shí)現(xiàn)方法

    這篇文章主要介紹了Qt之簡單的異步操作實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • C語言 不使用strcat函數(shù)實(shí)現(xiàn)連接兩個(gè)字符串功能代碼

    C語言 不使用strcat函數(shù)實(shí)現(xiàn)連接兩個(gè)字符串功能代碼

    今天小編就為大家分享一篇C語言 不使用strcat函數(shù)實(shí)現(xiàn)連接兩個(gè)字符串功能代碼,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • C++語言編寫寫日志類

    C++語言編寫寫日志類

    這篇文章主要介紹了C++語言編寫寫日志類的相關(guān)資料,支持寫日志級(jí)別設(shè)置、支持多線程、支持可變形參表寫日志,需要的朋友可以參考下
    2015-12-12

最新評論

卢湾区| 福贡县| 民乐县| 安化县| 丽水市| 沧源| 莫力| 西乌珠穆沁旗| 上栗县| 潼南县| 广东省| 临澧县| 陆河县| 城口县| 湘潭县| 淅川县| 介休市| 台东市| 静乐县| 马边| 麻栗坡县| 尼木县| 开阳县| 外汇| 留坝县| 新龙县| 商水县| 永嘉县| 武清区| 盐源县| 黑龙江省| 怀柔区| 泸溪县| 微博| 惠州市| 澎湖县| 通化县| 萍乡市| 望都县| 根河市| 竹溪县|