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

不會飛的鳥

2010年12月10日 ... 不鳥他們!!! 我要用自己開發(fā)的分布式文件系統(tǒng)、分布式調(diào)度系統(tǒng)、分布式檢索系統(tǒng), 做自己的搜索引擎!!!大魚有大志!!! ---楊書童

多線程-條件變量屬性

使用條件變量可以以原子方式阻塞線程,直到某個(gè)特定條件為真為止。條件變量始終與互斥鎖一起使用。

使用條件變量,線程可以以原子方式阻塞,直到滿足某個(gè)條件為止。對條件的測試是在互斥鎖(互斥)的保護(hù)下進(jìn)行的。

如果條件為假,線程通常會基于條件變量阻塞,并以原子方式釋放等待條件變化的互斥鎖。如果另一個(gè)線程更改了條件,該線程可能會向相關(guān)的條件變量發(fā)出信號,從而使一個(gè)或多個(gè)等待的線程執(zhí)行以下操作:

  • 喚醒

  • 再次獲取互斥鎖

  • 重新評估條件

在以下情況下,條件變量可用于在進(jìn)程之間同步線程:

  • 線程是在可以寫入的內(nèi)存中分配的

  • 內(nèi)存由協(xié)作進(jìn)程共享

調(diào)度策略可確定喚醒阻塞線程的方式。對于缺省值 SCHED_OTHER,將按優(yōu)先級順序喚醒線程。

必須設(shè)置和初始化條件變量的屬性,然后才能使用條件變量。表 4–4 列出了用于處理?xiàng)l件變量屬性的函數(shù)。

表 4–4 條件變量屬性

操作

函數(shù)說明

初始化條件變量屬性

pthread_condattr_init 語法

刪除條件變量屬性

pthread_condattr_destroy 語法

設(shè)置條件變量的范圍

pthread_condattr_setpshared 語法

獲取條件變量的范圍

pthread_condattr_getpshared 語法

 

表 4–5 中顯示了定義條件變量的范圍時(shí) Solaris 線程和 POSIX 線程之間的差異。

表 4–5 條件變量范圍比較

Solaris

POSIX

定義

USYNC_PROCESS

PTHREAD_PROCESS_SHARED

用于同步該進(jìn)程和其他進(jìn)程中的線程

USYNC_THREAD

PTHREAD_PROCESS_PRIVATE

用于僅同步該進(jìn)程中的線程

 

初始化條件變量屬性

使用 pthread_condattr_init(3C) 可以將與該對象相關(guān)聯(lián)的屬性初始化為其缺省值。在執(zhí)行過程中,線程系統(tǒng)會為每個(gè)屬性對象分配存儲空間。

pthread_condattr_init 語法

int	pthread_condattr_init(pthread_condattr_t *cattr);
#include <pthread.h>
pthread_condattr_t cattr;
int ret;
/* initialize an attribute to default value */
ret = pthread_condattr_init(&cattr); 

調(diào)用此函數(shù)時(shí),pshared 屬性的缺省值為 PTHREAD_PROCESS_PRIVATEpshared 的該值表示可以在進(jìn)程內(nèi)使用已初始化的條件變量。

cattr 的數(shù)據(jù)類型為 opaque,其中包含一個(gè)由系統(tǒng)分配的屬性對象。cattr 范圍可能的值為 PTHREAD_PROCESS_PRIVATEPTHREAD_PROCESS_SHAREDPTHREAD_PROCESS_PRIVATE 是缺省值。

條件變量屬性必須首先由 pthread_condattr_destroy(3C) 重新初始化后才能重用。pthread_condattr_init() 調(diào)用會返回指向類型為 opaque 的對象的指針。如果未銷毀該對象,則會導(dǎo)致內(nèi)存泄漏。

pthread_condattr_init 返回值

pthread_condattr_init() 在成功完成之后會返回零。其他任何返回值都表示出現(xiàn)了錯(cuò)誤。如果出現(xiàn)以下任一情況,該函數(shù)將失敗并返回對應(yīng)的值。

ENOMEM

描述:

分配的內(nèi)存不足,無法初始化線程屬性對象。

EINVAL

描述:

cattr 指定的值無效。

刪除條件變量屬性

使用 pthread_condattr_destroy(3C) 可以刪除存儲并使屬性對象無效。

pthread_condattr_destroy 語法

int	pthread_condattr_destroy(pthread_condattr_t *cattr);
#include <pthread.h>
pthread_condattr_t cattr;
int ret;
/* destroy an attribute */
ret
= pthread_condattr_destroy(&cattr); 

pthread_condattr_destroy 返回值

pthread_condattr_destroy() 在成功完成之后會返回零。其他任何返回值都表示出現(xiàn)了錯(cuò)誤。如果出現(xiàn)以下情況,該函數(shù)將失敗并返回對應(yīng)的值。

EINVAL

描述:

cattr 指定的值無效。

設(shè)置條件變量的范圍

pthread_condattr_setpshared(3C) 可用來將條件變量的范圍設(shè)置為進(jìn)程專用(進(jìn)程內(nèi))或系統(tǒng)范圍內(nèi)(進(jìn)程間)。

pthread_condattr_setpshared 語法

int	pthread_condattr_setpshared(pthread_condattr_t *cattr,
int pshared);
#include <pthread.h>
pthread_condattr_t cattr;
int ret;
/* all processes */
ret = pthread_condattr_setpshared(&cattr, PTHREAD_PROCESS_SHARED);
/* within a process */
ret = pthread_condattr_setpshared(&cattr, PTHREAD_PROCESS_PRIVATE);

如果 pshared 屬性在共享內(nèi)存中設(shè)置為 PTHREAD_PROCESS_SHARED,則其所創(chuàng)建的條件變量可以在多個(gè)進(jìn)程中的線程之間共享。此行為與最初的 Solaris 線程實(shí)現(xiàn)中 mutex_init() 中的 USYNC_PROCESS 標(biāo)志等效。

如果互斥鎖的 pshared 屬性設(shè)置為 PTHREAD_PROCESS_PRIVATE,則僅有那些由同一個(gè)進(jìn)程創(chuàng)建的線程才能夠處理該互斥鎖。PTHREAD_PROCESS_PRIVATE 是缺省值。PTHREAD_PROCESS_PRIVATE 所產(chǎn)生的行為與在最初的 Solaris 線程的 cond_init() 調(diào)用中使用 USYNC_THREAD 標(biāo)志相同。PTHREAD_PROCESS_PRIVATE 的行為與局部條件變量相同。PTHREAD_PROCESS_SHARED 的行為與全局條件變量等效。

pthread_condattr_setpshared 返回值

pthread_condattr_setpshared() 在成功完成之后會返回零。其他任何返回值都表示出現(xiàn)了錯(cuò)誤。如果出現(xiàn)以下情況,該函數(shù)將失敗并返回對應(yīng)的值。

EINVAL

描述:

cattrpshared 的值無效。

獲取條件變量的范圍

pthread_condattr_getpshared(3C) 可用來獲取屬性對象 cattrpshared 的當(dāng)前值。

pthread_condattr_getpshared 語法

int	pthread_condattr_getpshared(const pthread_condattr_t *cattr,
int *pshared);
#include <pthread.h>
pthread_condattr_t cattr;
int pshared;
int ret;
/* get pshared value of condition variable */
ret = pthread_condattr_getpshared(&cattr, &pshared); 

屬性對象的值為 PTHREAD_PROCESS_SHAREDPTHREAD_PROCESS_PRIVATE

pthread_condattr_getpshared 返回值

pthread_condattr_getpshared() 在成功完成之后會返回零。其他任何返回值都表示出現(xiàn)了錯(cuò)誤。如果出現(xiàn)以下情況,該函數(shù)將失敗并返回對應(yīng)的值。

EINVAL

描述:

cattr 的值無效。

posted on 2009-01-12 13:55 不會飛的鳥 閱讀(970) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            国产精品女主播| 免费一级欧美在线大片| 国产一区二区三区免费不卡| 欧美视频在线观看 亚洲欧| 欧美日韩精品久久久| 欧美日韩一级片在线观看| 欧美三级在线视频| 国产农村妇女精品| 黄色成人av网| 亚洲国产一区二区在线| 9i看片成人免费高清| 亚洲女ⅴideoshd黑人| 久久国产日本精品| 亚洲福利一区| 91久久久国产精品| 一个色综合导航| 欧美一级一区| 欧美sm视频| 国产精品尤物福利片在线观看| 国内外成人免费激情在线视频网站 | 国产精品视频免费在线观看| 欧美高清在线视频| a4yy欧美一区二区三区| 亚洲欧美中文另类| 美女久久网站| 亚洲午夜精品一区二区| 免费成人av资源网| 国产精品无码专区在线观看| 精品成人乱色一区二区| 一本久久a久久免费精品不卡| 久久久国产亚洲精品| 99re热这里只有精品免费视频| 久久国产精品99国产| 欧美日韩一区成人| 在线色欧美三级视频| 性色av一区二区三区红粉影视| 亚洲国产91色在线| 久久国产主播精品| 国产精品欧美久久久久无广告| 亚洲国产欧美一区二区三区久久| 亚洲欧美日韩国产一区二区三区 | 久久久久久久尹人综合网亚洲| 亚洲精品久久久蜜桃| 久久手机精品视频| 国产午夜精品理论片a级大结局| 亚洲精品在线视频观看| 久久性天堂网| 欧美在线啊v一区| 国产精品自拍视频| 香蕉久久夜色精品国产使用方法| 亚洲精品美女免费| 欧美国产亚洲精品久久久8v| 亚洲国产日韩欧美在线图片| 久久综合亚州| 久久久精品免费视频| 国产情人节一区| 欧美在线播放| 午夜精品久久久久影视| 国产精品午夜视频| 午夜欧美理论片| 中文欧美在线视频| 国产精品视频久久一区| 亚洲男人的天堂在线| 亚洲综合欧美| 国产一区二区高清不卡| 久久九九有精品国产23| 久久久久九九九九| 亚洲国产高清视频| 亚洲国产精品成人| 欧美精品播放| 亚洲一区二区三区在线看 | 在线视频一区二区| av不卡在线观看| 欧美视频在线观看一区二区| 欧美一级淫片aaaaaaa视频| 欧美3dxxxxhd| 日韩午夜激情| av成人毛片| 国产综合久久久久久鬼色| 麻豆视频一区二区| 欧美精品123区| 亚洲在线观看| 久久精品亚洲| 亚洲精品裸体| 亚洲一区二区三区精品在线观看| 国产欧美日韩亚洲一区二区三区| 久久久亚洲影院你懂的| 欧美大片在线观看| 午夜精品美女自拍福到在线 | 欧美成人自拍| 亚洲男人的天堂在线| 久久精品一区二区三区四区| 91久久午夜| 亚洲男女毛片无遮挡| 亚洲高清免费| 亚洲自拍偷拍麻豆| 亚洲精品久久久久久久久久久久| 一本久久精品一区二区| 韩国久久久久| 一区二区毛片| 91久久国产综合久久蜜月精品| 一区二区三区免费在线观看| 黄色成人av网站| 亚洲一区激情| 日韩一级大片在线| 久久爱www久久做| 亚洲视频自拍偷拍| 久久影院午夜论| 亚洲女人天堂av| 欧美成人精品在线| 久久免费视频在线| 欧美系列一区| 亚洲韩日在线| 亚洲大胆美女视频| 亚洲欧美成aⅴ人在线观看| 日韩视频一区二区三区在线播放| 欧美制服丝袜第一页| 亚洲神马久久| 欧美成人国产一区二区| 蜜桃精品久久久久久久免费影院| 国产精品入口尤物| 日韩一级成人av| 亚洲三级电影在线观看| 久久精品欧美| 久久九九久精品国产免费直播| 国产精品久久久久婷婷| 亚洲欧洲一级| 亚洲精品九九| 欧美国产国产综合| 欧美激情精品久久久久久| 狠狠色丁香婷婷综合| 欧美一区二区三区在线播放| 性视频1819p久久| 国产精品激情电影| 亚洲素人一区二区| 亚洲一区二区伦理| 欧美日韩国产成人高清视频| 91久久精品国产91久久性色tv| 亚洲精品1区| 国产精品高潮呻吟久久av无限| 9久草视频在线视频精品| 亚洲精品一区二区三区樱花| 美国十次了思思久久精品导航| 免费欧美日韩国产三级电影| 怡红院av一区二区三区| 欧美在线播放高清精品| 久久国产黑丝| 亚洲电影免费观看高清完整版在线观看 | 亚洲区第一页| 欧美激情乱人伦| 亚洲激情电影在线| 欧美国产日韩一区二区三区| 欧美激情第3页| 亚洲美女精品成人在线视频| 欧美日本成人| 欧美日韩系列| 亚洲精美视频| 亚洲在线观看免费| 国内一区二区三区| 久久综合色8888| 亚洲日本精品国产第一区| 夜夜夜久久久| 国产欧美日韩视频一区二区三区| 欧美在线999| 亚洲美女色禁图| 午夜精品一区二区三区电影天堂| 国产日韩专区在线| 裸体歌舞表演一区二区| 亚洲精品乱码久久久久久久久| 亚洲欧美日韩另类精品一区二区三区| 国产欧美另类| 猫咪成人在线观看| 99在线热播精品免费| 欧美在线免费| 亚洲精品在线观看免费| 国产嫩草影院久久久久| 久久天堂成人| 艳妇臀荡乳欲伦亚洲一区| 欧美中文字幕在线| 亚洲人体一区| 国产在线国偷精品产拍免费yy| 欧美日韩国产黄| 久久成人精品电影| 亚洲精品一二三区| 久久噜噜亚洲综合| 亚洲一区二区三区四区在线观看 | 亚洲国产精品成人va在线观看| 欧美三级韩国三级日本三斤| 欧美在线视频日韩| 亚洲免费观看高清在线观看| 美国成人直播| 亚洲欧美日本视频在线观看| 亚洲精品久久久久久久久久久久久| 国产精品一区免费视频| 欧美大片在线看| 久久天堂精品| 久久精品国产91精品亚洲| 亚洲一区二区在线观看视频| 久久精品日韩| 欧美黄色一级视频|