• <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>
            隨筆 - 42  文章 - 3  trackbacks - 0
            <2011年12月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            常用鏈接

            留言簿(2)

            隨筆檔案

            文章檔案

            網頁收藏

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            =============================================================

            int pthread_create(
                           pthread_t *tid,
                           const pthread_attr_t *attr,
                           void*(*start_routine)(void*),
                           void *arg
                           );
            //參數tid 用于返回新創建線程的線程號;
            //start_routine 是線程函數指針,線程從這個函數開始獨立地運行;
            //arg 是傳遞給線程函數的參數。由于start_routine 是一個指向參數類型為void*,返回值為void*的指針,所以如果需要傳遞或返回多個參數時,可以使用強制類型轉化。

            =============================================================

            void pthread_exit(
                         void* value_ptr
                         );
            // 參數value_ptr 是一個指向返回狀態值的指針。

            =============================================================

            int pthread_join(
                         pthread_t tid ,
                         void **status
                         );
            // 參數tid 是希望等待的線程的線程號,status 是指向線程返回值的指針,線程的返回值就是pthread_exit 中的value_ptr 參數,或者是return語句中的返回值。該函數可用于線程間的同步。

            =============================================================

            int pthread_mutex_init(
                               pthread_mutex_t *mutex,
                               const pthread_mutex_attr_t* attr
                               );
            //該函數初始化一個互斥體變量,如果參數attr 為NULL,則互斥
            //體變量mutex 使用默認的屬性。

            =============================================================

            int pthread_mutex_lock(
                               pthread_mutex_t *mutex
                               );
            // 該函數用來鎖住互斥體變量。如果參數mutex 所指的互斥體已經
            //被鎖住了,那么發出調用的線程將被阻塞直到其他線程對mutex 解鎖。

            =============================================================

            int pthread_mutex_trylock(
                                  pthread_t *mutex
                                  );
            //該函數用來鎖住mutex 所指定的互斥體,但不阻塞。如果該互斥
            //體已經被上鎖,該調用不會阻塞等待,而會返回一個錯誤代碼。

            =============================================================

            int pthread_mutex_unlock(
                                 pthread_mutex_t *mutex
                                 );
            //該函數用來對一個互斥體解鎖。如果當前線程擁有參數mutex 所
            //指定的互斥體,該調用將該互斥體解鎖。

            =============================================================

            int pthread_mutex_destroy (
                                   pthread_mutex_t *mutex
                                   );
            //該函數用來釋放分配給參數mutex 的資源。調用成功時返回值為
            //0, 否則返回一個非0 的錯誤代碼。

            =============================================================

            int pthread_cond_init(
                              pthread_cond_t *cond,
                              const pthread_cond_attr_t*attr
                              );
            //該函數按參數attr指定的屬性創建一個條件變量。調用成功返回,
            //并將條件變量ID 賦值給參數cond,否則返回錯誤代碼。

            =============================================================

            int pthread_cond_wait (
                               pthread_cond_t *cond ,
                               pthread_mutex_t*mutex
                               );
            // 該函數調用為參數mutex 指定的互斥體解鎖,等待一個事件(由
            //參數cond 指定的條件變量)發生。調用該函數的線程被阻塞直到有其他
            //線程調用pthread_cond_signal 或pthread_cond_broadcast 函數置相應的條
            //件變量,而且獲得mutex 互斥體時才解除阻塞。

            =============================================================

            int pthread_cond_timewait(
                                  pthread_cond_t *cond ,
                                  pthread_mutex_t*mutex ,
                                  const struct timespec *abstime
                                  );
            // 該函數與pthread_cond_wait 不同的是當系統時間到達abstime 參數指定的時間時,被阻塞線程也可以被喚起繼續執行。

            =============================================================

            int pthread_cond_broadcast(
                                   pthread_cond_t *cond
                                   );
            // 該函數用來對所有等待參數cond所指定的條件變量的線程解除阻塞,調用成功返回0,否則返回錯誤代碼。

            =============================================================

            int pthread_cond_signal(
                                pthread_cond_t *cond
                                );
            // 該函數的作用是解除一個等待參數cond所指定的條件變量的線程的阻塞狀態。當有多個線程掛起等待該條件變量,也只喚醒一個線程。

            =============================================================

            int pthread_cond_destroy(
                                 pthread_cond_t *cond
                                 );

            // 該函數的作用是釋放一個條件變量。釋放為條件變量cond 所分配的資源。調用成功返回值為0,否則返回錯誤代碼。

            =============================================================

            int pthread_key_create(
                               pthread_key_t key ,
                               void(*destructor(void*))
                               );

            // 該函數創建一個鍵值,該鍵值映射到一個專有數據結構體上。如果第二個參數不是NULL,這個鍵值被刪除時將調用這個函數指針來釋放數據空間。

            =============================================================

            int pthread_key_delete(
                               pthread_key_t *key
                               );
            // 該函數用于刪除一個由pthread_key_create 函數調用創建的TSD鍵。調用成功返回值為0,否則返回錯誤代碼。

            =============================================================

            int pthread_setspecific(
                                pthread_key_t key ,
                                const void(value)
                                );
            // 該函數設置一個線程專有數據的值,賦給由pthread_key_create 創建的TSD 鍵,調用成功返回值為0,否則返回錯誤代碼。

            =============================================================

            void *pthread_getspecific(
                                pthread_key_t *key
                                );

            // 該函數獲得綁定到指定TSD 鍵上的值。調用成功,返回給定參數key 所對應的數據。如果沒有數據連接到該TSD 鍵,則返回NULL。

            =============================================================

            int pthread_once(
                         pthread_once_t* once_control,
                         void(*init_routine)(void)
                         );
            //該函數的作用是確保init_routine 指向的函數,在調用pthread_once的線程中只被運行一次。once_control 指向一個靜態或全局的變量。

            =============================================================

            posted on 2011-12-05 07:45 鷹擊長空 閱讀(254) 評論(0)  編輯 收藏 引用
            久久精品中文字幕有码| 国产一区二区三区久久| 久久免费国产精品| 偷窥少妇久久久久久久久| 精品多毛少妇人妻AV免费久久| 精品久久久无码21p发布| 久久精品国产99国产精品澳门| 精品人妻伦九区久久AAA片69 | 国产69精品久久久久777| 狠狠人妻久久久久久综合| 亚洲欧美日韩久久精品第一区| 久久99国产精一区二区三区| 伊色综合久久之综合久久| 久久国产亚洲精品麻豆| 亚洲精品无码久久久久| 久久91这里精品国产2020| 精品久久久噜噜噜久久久| 亚洲а∨天堂久久精品| 91精品国产色综久久| 久久久久亚洲AV无码专区体验| 欧美精品一区二区久久| 品成人欧美大片久久国产欧美...| 欧美日韩久久中文字幕| 久久久久久久国产免费看| 精品久久久久久综合日本| 婷婷综合久久中文字幕蜜桃三电影| 久久久久久久亚洲精品| 777久久精品一区二区三区无码 | 7777久久久国产精品消防器材| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 欧美黑人激情性久久| 久久人人爽人人人人片av| 亚州日韩精品专区久久久| 国产伊人久久| 久久无码AV中文出轨人妻| 久久av高潮av无码av喷吹| 国产精品成人无码久久久久久| 国产精品成人久久久久久久| 精品无码久久久久久久动漫| 久久久久久噜噜精品免费直播| 久久国产香蕉视频|