青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

S.l.e!ep.¢%

像打了激速一樣,以四倍的速度運轉,開心的工作
簡單、開放、平等的公司文化;尊重個性、自由與個人價值;
posts - 1098, comments - 335, trackbacks - 0, articles - 1
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

一個簡單的線程管理機制(轉)

Posted on 2009-01-18 19:07 S.l.e!ep.¢% 閱讀(312) 評論(0)  編輯 收藏 引用 所屬分類: C++
一個簡單的線程管理機制
2008年04月14日 11:45:45   【發表評論/查看評論

????周末,總是有點那么的無聊。閑來沒事,想想每次自己要進行多線程編程時的痛苦,也并借機考慮設計了一個簡單的線程管理方式。?
????沒什么好說的,首先想想線程的創建,每次都要CreateThread,傳遞一堆的參數,還得沒事查查MSDN,唉,效率低啊。反正,對于我來說,線程基本都是缺省優先級、缺省安全的。不如把這些一起封裝了。
????不多說,C++不用對象機制用什么?順便借鑒一下java。來個實際線程就是run,啟動采用start。
class thread
{
public:
???? thread( void );
???? virtual ~thread( void );
?
???? virtual void run() = 0;
?
???? void start();
};
???? 這個也就是最基本的,基于對象的線程基類了。子類只需要實現run作為線程,調用start,就可以啟動線程了。線程的所需參數,很簡單,基于對象,有需要的,做為擴展類的成員變量——成員資源來訪問。
??? 就這么簡單?線程訪問最大的問題——資源共享。那好,很容易想到互斥量。還有java的關鍵字synchronized,我們也就加一個鎖的概念。
class thread
{
public:
???? thread( void );
???? virtual ~thread( void );
?
???? virtual void run() = 0;
?
???? void start();
?
???? static void syncLock( void *res,bool lock );
};
????這樣,在最基本的線程資源——HANDLE,就可以被管理了,資源的訪問也可以通過lock和unlock來保護了。
????實際中,很多時候,我們希望能限制或知道有多少線程在運行,那么再加一個運行線程記數功能。大多時候,往往是采用線程池,而且會根據CPU數目,決定運行的線程數目。我們干脆,再提供一個功能,限制對象上可以允許同時運行的線程數目。那好,改為(同時加上一些保護和注解):
typedef unsigned int U32;
/**
?* 線程對象
?* 提供基于對象的線程處理接口
?*/
class thread
{
public:
???? /**
????? * 線程基于對象的構造
????? * para max 允許最多同時運行線程數
????? */
???? explicit thread( U32 max = -1 );
???? virtual ~thread( void );
?
???? /**
????? * 啟動一個線程
????? * @return 啟動成功否
????? */
???? bool start( void );
?
???? /**
????? * 對象上啟動的線程數
????? * @return 線程數
????? */
???? U32 count( void );
????
???? /**
????? * 線程執行函數
????? * @return 無
????? */
???? virtual void run( void ) = 0;
?
???? /**
????? * 為對象加解鎖
????? * @return 無
????? * @para res 要加解鎖的資源對象
????? * @para lock 加鎖還是解鎖
????? */
???? static void syncLock( void *res,bool lock );
?
private:
???? thread( const thread &t );
???? thread &operator=( const thread &t );
?
???? void *m_datas;
};
????至于實現,我想不難。別忘了,對象銷毀時要等待所有線程結束,并釋放HANDLE資源哦。否則,線程會訪問錯誤的內存,還有線程HANDLE被泄漏的。(千萬別死鎖了,自己實現時就因為資源鎖來鎖去,鎖死了。)
????哈哈,就這么簡單,一個簡單的線程創建、管理就實現了。至于void *,你可以根據自己的實現去定義數據結構。
東西簡單,也就不貼出cpp源碼了,關鍵是個想到、做到的問題。
????頭文件和lib,放在rar包吧,給大家一個實現后的參考。如果,發現有什么問題,可以隨時和我聯系。或者,您有更好的想法,并且愿意和我分享,那真是舉目明月,盡展抒懷。假如,您對有些語法,比如explicit不明,那么,建議您先看看有關C++的語法或者找您周圍的高手,讓他們洗腦一番。:}
謝謝閱讀,好就此打住。

配套程序下載:http://dev.gameres.com/Program/Other/thread.rar

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久本道综合色狠狠五月| 欧美日韩精品伦理作品在线免费观看| 老司机67194精品线观看| 欧美中文在线字幕| 久久久91精品国产一区二区三区| 欧美亚洲三级| 另类av一区二区| 欧美a级大片| 亚洲电影欧美电影有声小说| 欧美成人精品h版在线观看| 欧美激情va永久在线播放| 99爱精品视频| 亚洲欧美日韩中文播放| 久久久噜噜噜久久中文字幕色伊伊 | 久久蜜臀精品av| 欧美1区免费| 国产精品国色综合久久| 一区二区亚洲| 亚洲综合三区| 亚洲高清影视| 久久国产高清| 国产精品三级久久久久久电影| 在线成人小视频| 午夜国产精品视频| 亚洲精品国产精品国自产观看浪潮 | 欧美日韩福利在线观看| 欧美**人妖| 国产精品人人做人人爽| 狠狠色狠狠色综合日日五| 亚洲精品一级| 欧美sm视频| 午夜精品电影| 欧美日韩三级在线| 亚洲国产视频a| 久久精视频免费在线久久完整在线看| 亚洲日本成人| 猫咪成人在线观看| 久久亚洲精品一区| 亚洲精品乱码视频| 久久国产婷婷国产香蕉| 亚洲人成77777在线观看网| 久久av在线看| 国产日韩精品电影| 亚洲欧美福利一区二区| 亚洲精品免费在线观看| 免费不卡欧美自拍视频| 国外成人网址| 久久精品系列| 欧美一区二区三区的| 国产精品美女久久久久av超清| 亚洲免费观看高清在线观看| 欧美va天堂在线| 久久久久久亚洲精品中文字幕| 国产九九视频一区二区三区| 亚洲欧美久久久| 一本色道久久综合狠狠躁的推荐| 欧美黑人在线观看| 亚洲精品午夜| 亚洲美女av在线播放| 欧美久久一区| 亚洲一级黄色片| 亚洲视频在线观看视频| 国产精品a久久久久久| 亚洲综合欧美| 午夜精品久久久久影视| 国产日韩精品在线| 久久久人成影片一区二区三区观看| 小黄鸭精品密入口导航| 国产日韩欧美亚洲一区| 久久九九久精品国产免费直播| 欧美一区二区三区免费大片| 国产在线欧美日韩| 欧美99久久| 欧美精品一区二区三区一线天视频| 日韩一级不卡| 亚洲在线国产日韩欧美| 国模私拍一区二区三区| 欧美成人国产一区二区| 欧美理论电影在线观看| 午夜国产精品视频| 久久久91精品| 99re66热这里只有精品4| 亚洲精品中文字幕女同| 国产精品美女久久久久久免费| 午夜在线一区| 久热精品在线视频| 中文精品视频一区二区在线观看| 亚洲小视频在线观看| 精品成人一区二区三区| 亚洲美女91| 精品999成人| 夜夜夜久久久| 在线播放不卡| 亚洲一区一卡| 日韩一级欧洲| 性视频1819p久久| 亚洲另类春色国产| 午夜精品三级视频福利| 亚洲精品中文字幕有码专区| 蜜臀a∨国产成人精品| 免费日韩av电影| 国产精品h在线观看| 狼狼综合久久久久综合网| 欧美日韩免费一区二区三区视频 | 夜夜嗨av一区二区三区四季av| 亚洲一区二区视频在线| 亚洲高清二区| 香蕉免费一区二区三区在线观看 | 欧美成人午夜激情| 国产精品九九| 亚洲精一区二区三区| 在线视频国产日韩| 久久爱www久久做| 欧美一区二区| 国产精品久久久亚洲一区| 亚洲福利在线观看| 影院欧美亚洲| 久久精品国产成人| 久久精品综合一区| 国产日韩欧美一区在线 | 久久综合中文色婷婷| 午夜欧美精品| 欧美视频不卡| 日韩视频―中文字幕| 亚洲精品欧美日韩| 免播放器亚洲一区| 欧美成人黄色小视频| 影音先锋在线一区| 久久久久成人精品免费播放动漫| 欧美在现视频| 国产日韩亚洲| 欧美在线免费观看亚洲| 久久久精品视频成人| 国产一区91| 久久精品亚洲精品国产欧美kt∨| 久久精品视频在线| 永久免费精品影视网站| 久久久久综合一区二区三区| 久热re这里精品视频在线6| 国产一区二区无遮挡| 久久超碰97中文字幕| 麻豆成人在线观看| 亚洲日韩中文字幕在线播放| 欧美高清不卡在线| 夜夜夜久久久| 久久精品91久久香蕉加勒比| 国产亚洲精品v| 久久女同互慰一区二区三区| 免费看亚洲片| 一区二区高清在线| 国产精品麻豆成人av电影艾秋| 香蕉久久精品日日躁夜夜躁| 久久综合久久综合久久综合| 亚洲电影自拍| 欧美色欧美亚洲另类七区| 亚洲免费中文| 欧美高清视频在线| 亚洲香蕉伊综合在人在线视看| 国产精品久久久久一区二区三区 | 欧美日韩成人在线| 最新日韩在线视频| 亚洲手机在线| 国内精品久久久久久| 另类欧美日韩国产在线| 亚洲精品中文字幕有码专区| 亚洲欧美日韩国产精品| 精品电影一区| 欧美日韩黄色大片| 久久99在线观看| 日韩亚洲欧美在线观看| 久久国产66| 亚洲另类一区二区| 国产嫩草影院久久久久| 久久久中精品2020中文| 中文一区字幕| 亚洲电影免费观看高清完整版在线观看| 亚洲已满18点击进入久久| 亚洲高清激情| 国产日韩欧美制服另类| 欧美精品乱码久久久久久按摩| 欧美在线三区| 一本一道久久综合狠狠老精东影业| 久久综合一区二区| 欧美与黑人午夜性猛交久久久| 日韩视频在线免费观看| 国产一区二区三区成人欧美日韩在线观看 | 夜夜夜精品看看| 另类欧美日韩国产在线| 亚洲欧美资源在线| 一区二区高清视频| 亚洲欧洲日本mm| 国产一区二区三区免费观看| 欧美视频一二三区| 欧美国产精品| 免费成人黄色片| 久久尤物视频| 久久亚洲精品中文字幕冲田杏梨| 亚洲网站在线播放| 99精品久久免费看蜜臀剧情介绍| 欧美韩日高清|