C++編程經(jīng)驗(yàn)(10):無鎖編程其實(shí)沒那么玄乎

      網(wǎng)友投稿 1129 2025-04-06

      @[toc]


      曾經(jīng)有個(gè)人,問我對(duì)無鎖隊(duì)列的實(shí)現(xiàn)是怎么想的。我想了一會(huì)兒,還是納悶兒,無鎖,也能做消息隊(duì)列嗎?然后他讓我回去好好查查。沒錯(cuò),他就是面試官

      atomic

      在有些場景里面,是需要對(duì)一些資源進(jìn)行鎖定的。但是有些資源實(shí)在是太小了,鎖定的粒度也太小了,不免顯得上鎖解鎖倒成了繁瑣。

      比方說:

      _mlock.lock(); count++; _mlock.unlock();

      CAS,是基于硬件層面的無鎖操作,由CPU來保證。

      演示

      C++編程經(jīng)驗(yàn)(10):無鎖編程其實(shí)沒那么玄乎

      #include #include #include #include //其中包含很多原子操作 #include using namespace std; Volatile atomic_bool isReady = false; //Volatile:防止共享變量被緩存,導(dǎo)致線程跑來跑去 volatile atomic_int mycount = 0; void task() { while (!isReady) { this_thread::yield(); //出讓時(shí)間片,等待下一次調(diào)用 } for (int i = 0; i < 100; i++) { mycount++; } } int main() { vector tvec; for (int i = 0; i < 10;i++) { tvec.push_back(thread(task)); } this_thread::sleep_for(chrono::seconds(3)); isReady = true; for (thread& t : tvec) { t.join(); } cout << mycount << endl; return 0; }

      C++

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:用excel制作表頭的方法步驟詳解
      下一篇:excel2003表格公式的操作教程(excel2003表格制作步驟)
      相關(guān)文章
      亚洲AV网一区二区三区| 亚洲免费观看网站| 亚洲av无码片vr一区二区三区| 亚洲偷自精品三十六区| 亚洲精品二三区伊人久久| 亚洲美女激情视频| 亚洲日本在线播放| 亚洲乱码中文字幕小综合| 亚洲国产成AV人天堂无码| 亚洲午夜成激人情在线影院| 亚洲国产夜色在线观看| 久久精品国产亚洲AV蜜臀色欲| 亚洲AV综合色区无码二区偷拍| 亚洲AV成人噜噜无码网站| 亚洲乱码在线卡一卡二卡新区| 亚洲AV成人影视在线观看| 亚洲日韩看片无码电影| 欧美日韩亚洲精品| 亚洲国产精品成人久久蜜臀| 亚洲国产一成久久精品国产成人综合 | 亚洲伊人久久大香线蕉苏妲己| 亚洲人成在线影院| 亚洲男人的天堂在线| 亚洲三级在线视频| 亚洲日韩精品国产3区| 久久精品国产亚洲av瑜伽| 亚洲精品一级无码中文字幕| 国产自偷亚洲精品页65页| 亚洲AV无码不卡在线播放| 99亚洲精品高清一二区| 亚洲人成在久久综合网站| 亚洲日本VA午夜在线影院| 男人的天堂亚洲一区二区三区 | 久久亚洲私人国产精品| 亚洲电影唐人社一区二区| 中国亚洲呦女专区| 男人的天堂亚洲一区二区三区| 国产精品亚洲二区在线观看| 亚洲AV无码码潮喷在线观看| 亚洲短视频在线观看| 亚洲日韩AV无码一区二区三区人|