在线亚洲黄色-在线亚洲观看-在线亚洲电影-在线亚洲成人-岛国大片在线观看免费版-岛国大片在线播放高清

Linux下多線程排序的實現(xiàn)

導(dǎo)讀對于計算密集型的任務(wù),如果能采用合理的多線程處理,能夠大大的提升計算效率。這篇博文實現(xiàn)了多線程排序,同時講解了一些需要注意的問題。首先,說一下總體的思路:將元素分成n段,使用快速排序多個線程并行處理。最后需要等待這些線程都將分段排好序之后,進(jìn)行類似歸并排序的過程。這樣時間復(fù)雜度算下來是(假設(shè)我是4核的機器)O(n+n/4log(n/4)),比O(nlogn)大概快了一倍的樣子。(請帶入數(shù)值具體計算)。先來介紹一下pthread_barrier系列函數(shù)。函數(shù)原型。#include 。

系統(tǒng)大全為您提供對于計算密集型的任務(wù),如果能采用合理的多線程處理,能夠大大的提升計算效率。這篇博文實現(xiàn)了多線程排序,同時講解了一些需要注意的問題。首先,說一下總體的思路:將元素分成n段,使用快速排序多個線程并行處理。最后需要等待這些線程都將分段排好序之后,進(jìn)行類似歸并排序的過程。這樣時間復(fù)雜度算下來是(假設(shè)我是4核的機器)O(n+n/4log(n/4)),比O(nlogn)大概快了一倍的樣子。(請帶入數(shù)值具體計算)先來介紹一下pthread_barrier系列函數(shù)。函數(shù)原型:#include?intpthread_barrier_init(pthread_barrier_t*restrictbarrier,constpthread_barrierattr_t*restrictattr,unsignedcount);intpthread_barrier_wait(pthread_barrier_t*barrier);intpthread_barrier_destroy(pthread_barrier_t*barrier);參數(shù)解釋:pthread_barrier_t,是一個計數(shù)鎖,對該鎖的操作都包含在三個函數(shù)內(nèi)部,我們不用關(guān)心也無法直接操作。只需要實例化一個對象丟給它就好。pthread_barrierattr_t,鎖的屬性設(shè)置,設(shè)為NULL讓函數(shù)使用默認(rèn)屬性即可。count,你要指定的等待個數(shù)。通俗解釋:pthread_barrier_*其實只做且只能做一件事,就是充當(dāng)欄桿(barrier意為欄桿)。形象的說就是把先后到達(dá)的多個線程擋在同一欄桿前,直到所有線程到齊,然后撤下欄桿同時放行。1)init函數(shù)負(fù)責(zé)指定要等待的線程個數(shù);2)wait()函數(shù)由每個線程主動調(diào)用,它告訴欄桿“我到起跑線前了”。wait()執(zhí)行末尾欄桿會檢查是否所有人都到欄桿前了,如果是,欄桿就消失所有線程繼續(xù)執(zhí)行下一句代碼;如果不是,則所有已到wait()的線程停在該函數(shù)不動,剩下沒執(zhí)行到wait()的線程繼續(xù)執(zhí)行;3)destroy函數(shù)釋放init申請的資源。?單線程排序:#include?#include?#include?#include?#include?#include?#include?#include?#include?#include?usingnamespacestd;?//錯誤檢查函數(shù)inlinevoidERR_EXIT(conststring&msg,intretnum){??if(retnum!=0)??{????cerr<經(jīng)驗總結(jié):??以上就是系統(tǒng)大全給大家介紹的如何使的方法都有一定的了解了吧,好了,如果大家還想了解更多的資訊,那就趕緊點擊系統(tǒng)大全官網(wǎng)吧。??本文來自系統(tǒng)大全http:///如需轉(zhuǎn)載請注明!推薦:win7純凈版

為你推薦
資訊專欄
熱門視頻
相關(guān)推薦
linux下實現(xiàn)監(jiān)控進(jìn)程網(wǎng)絡(luò)帶寬 win8系統(tǒng)啟動時出現(xiàn)應(yīng)用程序沖突怎么辦使用執(zhí) linuxtomcat一鍵維護(hù)腳本系 怎么樣查看Win81WinSxS文件夾實際大小 如何才能WPS快速輸入商標(biāo)符號WPS快速輸入商標(biāo)符 網(wǎng)易云音樂如何排序網(wǎng)易云音樂歌單排序的方 找回windows8命令提示符的辦法介紹 Win8遠(yuǎn)程桌面登錄如何清除歷史痕跡 Linux011啟動流程分析 Win8系統(tǒng)怎么關(guān)閉smartscreen篩選器 win81自帶輸入法設(shè)置字體大小怎么樣改變方法 百度影音截圖保存在哪怎樣查找百度影音截圖 win8程序兼容助手服務(wù)如何關(guān)閉 linux系統(tǒng)之間互傳文件 Linux系統(tǒng)之Linux安裝JDK win81系統(tǒng)下怎么關(guān)閉禁用鎖屏功能 管理Windows7中的文件夾的辦法 Linux系統(tǒng)中chown和chmod命令的區(qū)別 有道詞典如何開啟自動發(fā)音有道詞典設(shè)置自動 高級Linux命令 Linux下查找連接了mysql的進(jìn)程 linux命令之sort linux中打包和壓縮的理解 查看Linux下系統(tǒng)資源占用常用命令 Win81怎么設(shè)置默認(rèn)瀏覽器Win81設(shè)置默認(rèn)程序辦法 nginx配置示例 修復(fù)Win8電腦的7個問題辦法 LinuxMalloc分析從用戶空間到內(nèi)核空間 linux獲取daemon進(jìn)程的控制臺數(shù)據(jù) 一個簡單的linux線程池 為什么win8設(shè)置了從不休眠還是休眠windows8取消休 Win8系統(tǒng)無法關(guān)閉后臺程序?qū)е码娔X卡的解決方法 有道云筆記如何找回被刪除的文件 win81系統(tǒng)怎樣設(shè)置滑動關(guān)機方法 Ubuntu時間管理 Linux文件lscpmvrm Windows81系統(tǒng)IE10瀏覽器如何去除超鏈接下劃線 Linux宕機后如何重啟最安全 linux下vi編輯器命令大全1 inux虛擬機網(wǎng)絡(luò)配制方法及遇到問題的解決方法
Top 主站蜘蛛池模板: 亚洲欧美日韩激情在线观看 | 日本三级全黄三级a | 欧美日韩精品一区二区三区视频在线 | 欧美在线视频网 | 精品久久久久久亚洲 | 亚洲欧美二区三区久本道 | 国产成人欧美一区二区三区的 | 亚洲国产系列一区二区三区 | 国产精品系列在线观看 | 亚洲欧美成人综合久久久 | 日韩精品一区二区三区国语自制 | 欧美日韩成人高清色视频 | 国产一二三区在线 | 国产欧美精品区一区二区三区 | 一道本一区二区三区 | 欧美日韩在线观看免费 | 国产一级毛片在线 | 亚洲一区色图 | 免费国产黄网站在线观看视频 | 欧美日韩高清一区二区三区 | 欧美精品福利 | 在线日韩视频 | 99热只有精品一区二区 | 免费一看一级毛片人 | 日韩在线一区二区 | 欧美一区二区三区香蕉视 | 在线欧美日韩 | 亚洲精品国产自在久久出水 | 日韩国产综合 | 中文字幕一区二区三区久久网站 | 国产福利一区二区三区 | 欧美成人伊人久久综合网 | 亚洲欧美另类专区 | 国产成人精品免费视 | 国产欧美日韩视频在线观看 | 欧美日本一区二区三区 | 国产精品毛片va一区二区三区 | 国产精品…在线观看 | 成人无码一区二区片 | 国产一区二区在线免费观看 | 国产日韩视频 |