麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 系統(tǒng) > Android > 正文

淺析android中的線程封裝

2020-04-11 12:02:47
字體:
來源:轉載
供稿:網(wǎng)友

簡單寫一下android 對線程 的c++封裝~~~其實API已經(jīng)寫得很清楚了~~

封裝 的文件 :/frameworks/base/include/utils/threads.h

這里不討論具體實現(xiàn),具體實現(xiàn)是和系統(tǒng) 相關聯(lián)的~~首先Anroid提供了幾個與直接創(chuàng)建線程的函數(shù):

復制代碼 代碼如下:

inline bool createThread(thread_func_t f, void *a) 

inline bool createThreadEtc(thread_func_t entryFunction,
                            void *userData,
                            const char* threadName = "android:unnamed_thread",
                            int32_t threadPriority = PRIORITY_DEFAULT,
                            size_t threadStackSize = 0,
                            thread_id_t *threadId = 0)

inline thread_id_t getThreadId()


下面看看Android的mutex,基本和posix的mutex很像,唯一增加了一個Mutex::Autolock,這個自動鎖用得是比較多的,在作用域里加鎖,脫離作用域就會自動解鎖。
復制代碼 代碼如下:

class Autolock {
    public:
        inline Autolock(Mutex& mutex) : mpMutex(&mutex) { mutex.lock(); }
        inline Autolock(Mutex* mutex) : mpMutex(mutex) { mutex->lock(); }
        inline ~Autolock() { mpMutex->unlock(); }
    private:
        Mutex*  mpMutex;
    };

再看看Andorid的Condition,用法基本和posix差不多,因為本身是條件變量所以只有一個mutex參數(shù)~~

最后看看android的thread類,在實際使用的過程中都是繼承這個thread類來創(chuàng)建自己的thread類,并定義線程的執(zhí)行內容,下面主要圍繞創(chuàng)建自己的線程類需要實現(xiàn)的幾個函數(shù)說說:

class Thread : virtual public RefBase
首先它繼承自RefBase類,一般在使用的時候要實現(xiàn)onFirstRef()這個父類函數(shù),一般經(jīng)典 的用法是在里面運行Thread的run函數(shù),這樣在創(chuàng)建thread的實例 的時候就開始運行這個線程了。當然也可以不在這里執(zhí)行run()函數(shù),在其他地方執(zhí)行run()函數(shù)啟動這個線程。  

復制代碼 代碼如下:

virtual status_t    run(    const char* name = 0,
                                int32_t priority = PRIORITY_DEFAULT,
                                size_t stack = 0);

創(chuàng)建一個thread實例的時候,線程并沒有運行,只有在執(zhí)行run()函數(shù)的時候,線程才開始真正的開始運行。

virtual status_t    readyToRun();
這個函數(shù)定義thread執(zhí)行前的初始化工作

virtual bool        threadLoop() = 0;
這個函數(shù)是每個線程類都要實現(xiàn)的,在這里定義thread的執(zhí)行內容,這個函數(shù)如果返回true,則函數(shù)會不停地執(zhí)行threadloop中的內容,如果這個函數(shù)返回false,則threadloop中的內容僅僅執(zhí)行一次線程就會退出。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 91成人在线免费 | 激情夜色| 一级黄色影片在线观看 | 欧美精品一区二区三区在线 | 久久久久久久黄色片 | 精品国产一区二区在线 | 久国产精品视频 | 成人不卡在线观看 | 国产一区二区三区四区五区在线 | 日本在线播放一区二区三区 | 国内性爱视频 | 一区二区三区欧美在线 | 啊~用cao嗯力cao烂我视频 | 久久免费观看一级毛片 | 久久综合福利 | 黄片毛片一级 | 欧洲成人一区 | 国内精品视频饥渴少妇在线播放 | 制服丝袜日日夜夜 | 午夜视频啊啊啊 | 女人a级毛片 | 日本黄色一级电影 | 99精品视频在线 | 亚洲影视中文字幕 | 国产一级毛片视频在线! | 国产喷白浆10p | 狠狠干天天操 | 久久99国产精品久久 | 亚洲99| 国产亚洲高清在线精品不卡 | 精品国产乱码久久久久久久 | 激情大乳女做爰办公室韩国 | 九九热播视频 | 精品国产成人 | 激情综合婷婷久久 | 精品久久久久久久久中文字幕 | 精精国产xxxx视频在线野外 | 久久无 | 大片毛片 | 久久爽久久爽久久av东京爽 | 亚洲第一成网站 |