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

小默

thread 線程屬性 脫離線程

線程的屬性

脫離線程:不向主線程返回信息,不需要主線程等待.
通過兩種方法創(chuàng)建:
調(diào)用pthread_detach;
修改線程的屬性. <- 這里使用

#include <pthread.h>
int pthread_attr_init(pthread_attr_t *attr);
初始化一個(gè)線程屬性對(duì)象.
pthread_destroy
回收一個(gè)線程屬性對(duì)象.

#include <pthread.h>
int pthread_attr_setdetachstate(pthread_attr_t *attr, int detachstate);
int pthread_attr_getdetachstate(const pthread_attr_t *attr, int *detachstate);
這個(gè)屬性允許我們無(wú)需對(duì)線程進(jìn)行合并:
| PTHREAD_CREATE_JOINABLE 默認(rèn).
| PTHREAD_CREATE_DETACHED 不能調(diào)用pthread_join來(lái)獲得另一個(gè)線程的退出狀態(tài).

int pthread_attr_setschedpolicy(pthread_attr_t *attr, int policy);
int pthread_attr_getschedpolicy(const pthread_attr_t *attr, int *policy);
控制線程的調(diào)度方式:
| SCHED_OTHER 默認(rèn)
| SCHED_RP   循環(huán)(round_robin) <- 下面2個(gè)調(diào)度方式具備實(shí)時(shí)調(diào)度功能,需要root權(quán)限.
| SCHED_FIFO 先進(jìn)先出

int pthread_attr_setschedparam(pthread_attr_t *attr, const struct sched_param *param);
int pthread_attr_getschedparam(const pthread_attr_t *attr, struct sched_param *param);
和schedpolicy配合使用,控制SCHED_OTHER線程的調(diào)度策略.

int pthread_attr_setinheritsched(pthread_attr_t *attr, int inherit);
int pthread_attr_getinheritsched(const pthread_attr_t *attr, int *inherit);
| PTHREAD_EXPLICIT_SCHED 調(diào)度由屬性明確設(shè)置.
| PTHREAD_INHERIT_SCHED  新線程沿用創(chuàng)建者的屬性.

int pthread_attr_setscope(pthread_attr_t *attr, int scope);
int pthread_attr_getscope(const pthread_attr_t *attr, int *scope);
控制一個(gè)線程調(diào)度的計(jì)算方式,目前Linux只支持PTHREAD_SCOPE_SYSTEM.

int pthread_attr_setstacksize(pthread_attr_t *attr, int scope);
int pthread_attr_getstacksize(const pthread_attr_t *attr, int *scope);
控制線程創(chuàng)建的棧大小,單位字節(jié).可選.
Linux在實(shí)現(xiàn)線程時(shí),默認(rèn)的棧很大,這個(gè)屬性有點(diǎn)多余.

創(chuàng)建脫離線程:
/*
 * 線程屬性-創(chuàng)建脫離線程
 * 主線程不等待子線程結(jié)束,只通過thread_finished標(biāo)志來(lái)檢測(cè)子線程是否已結(jié)束,并顯示線程之間仍然共享的變量.
 
*/
#include 
<stdio.h>
#include 
<unistd.h>
#include 
<stdlib.h>
#include 
<pthread.h>

void *thread_function(void *arg);

char g_message[] = "Hello World!";
int g_thread_finished = 0;

int main(){
    
int res;
    pthread_t a_thread;
    pthread_attr_t thread_attr;

    res 
= pthread_attr_init(&thread_attr);
    
if(res != 0){
        perror(
"Attribute creation failed");
        exit(EXIT_FAILURE);
    }

    res 
= pthread_attr_setdetachstate(&thread_attr, PTHREAD_CREATE_DETACHED);
    
if(res != 0){
        perror(
"Setting detached attribute failed");
        exit(EXIT_FAILURE);
    }

    res 
= pthread_create(&a_thread, &thread_attr,
            thread_function, (
void *)g_message);
    
if(res != 0){
        perror(
"Thread creation failed");
        exit(EXIT_FAILURE);
    }

    (
void)pthread_attr_destroy(&thread_attr);
    
while(!g_thread_finished){
        printf(
"Waiting for thread to say it's finished\n");
        sleep(
1);
    }
    printf(
"Other thread finished, bye!\n");
    exit(EXIT_SUCCESS);
}

void *thread_function(void *arg){
    printf(
"thread_function is running. Argument was %s\n", (char *)arg);
    sleep(
4);
    printf(
"Second thread setting finished flag, and exit now\n");
    g_thread_finished 
= 1;
    pthread_exit(NULL);
}

執(zhí)行結(jié)果:
$ gcc -D_REENTRANT thread5.c -o thread5 -lpthread  
$ .
/thread5 
Waiting 
for thread to say it's finished
thread_function is running. Argument was Hello World!
Waiting 
for thread to say it's finished
Waiting for thread to say it's finished
Waiting for thread to say it's finished
Second thread setting finished flag, and exit now
Other thread finished, bye
!

--
FROM: Linux程序設(shè)計(jì)

posted on 2011-06-14 18:56 小默 閱讀(2253) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Linux

導(dǎo)航

統(tǒng)計(jì)

留言簿(13)

隨筆分類(287)

隨筆檔案(289)

漏洞

搜索

積分與排名

最新評(píng)論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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一区二区三区在线观看| 蜜桃av噜噜一区| 欧美在线视频观看免费网站| 在线天堂一区av电影| 亚洲日本乱码在线观看| 亚洲日本久久| 一本综合久久| 亚洲欧美日本国产专区一区| 亚洲欧美日韩精品久久亚洲区| 一区二区激情视频| 亚洲欧美日韩国产中文| 欧美有码视频| 免费试看一区| 亚洲精品国产精品国自产观看| 久久久水蜜桃| 亚洲国产三级| 午夜精彩国产免费不卡不顿大片| 欧美一区久久| 美女福利精品视频| 国产精品久久77777| 国内精品久久久| 99国产一区| 久久久久久自在自线| 亚洲国产老妈| 午夜在线视频观看日韩17c| 久久性色av| 国产精品久久久久久久7电影| 国产一区再线| 一区二区三区精品久久久| 久久久久久久久久久久久9999 | 亚洲精品国产无天堂网2021| 亚洲日本成人| 久久精品国产一区二区电影| 欧美成人午夜| 午夜视频在线观看一区| 欧美护士18xxxxhd| 红桃视频欧美| 欧美在线亚洲综合一区| 亚洲乱码精品一二三四区日韩在线| 欧美影院视频| 欧美日韩一区不卡| 国产亚洲一区在线播放| 一区二区三区 在线观看视频| 久久午夜视频| 亚洲欧美日韩精品综合在线观看| 欧美高清一区| 亚洲国产高清在线| 久久狠狠久久综合桃花| 在线综合亚洲欧美在线视频| 欧美不卡一卡二卡免费版| 国内视频一区| 久久久久久999| 欧美亚洲自偷自偷| 国产欧美日韩另类视频免费观看| 一本久道久久综合狠狠爱| 欧美gay视频| 久久青草欧美一区二区三区| 国产欧美日韩一区| 亚洲综合日韩| 亚洲私拍自拍| 国产精品久久久久久久午夜 | 国产亚洲一区二区三区| 亚洲在线观看免费| 亚洲国产综合在线| 欧美国产日韩精品免费观看| 亚洲高清激情| 欧美激情影院| 欧美高清视频一区二区| 亚洲三级视频在线观看| 亚洲黑丝在线| 欧美日韩在线播放一区二区| 亚洲天堂av综合网| 亚洲永久免费观看| 国产在线视频欧美| 欧美国产视频日韩| 欧美日韩国产va另类| 中文网丁香综合网| 亚洲一区在线观看视频| 国产一区二区三区四区在线观看| 久久久久久伊人| 免费在线欧美黄色| 亚洲午夜久久久| 亚洲欧美中文日韩在线| 黄色成人在线免费| 亚洲国产精品久久久久秋霞不卡| 欧美日韩国产不卡| 久久国产精品久久久| 欧美在线亚洲综合一区| 亚洲二区在线| 一区二区三区蜜桃网| 国产日本精品| 欧美成人精品在线视频| 欧美日韩国产经典色站一区二区三区| 99视频有精品| 亚洲欧美在线aaa| 亚洲国产高清aⅴ视频| 亚洲精品视频在线播放| 国产毛片一区| 亚洲大胆人体视频| 久久高清国产| 欧美区二区三区| 欧美淫片网站| 欧美久久久久| 久久久久国产精品一区二区| 欧美成ee人免费视频| 午夜在线视频观看日韩17c| 久久手机精品视频| 午夜在线成人av| 欧美电影在线| 久久亚洲美女| 国产精品入口| 亚洲精品久久在线| 精品不卡视频| 午夜精品在线| 亚洲婷婷综合久久一本伊一区| 欧美在线中文字幕| 亚洲综合激情| 欧美日韩免费观看中文| 欧美高清视频一二三区| 国产伦理精品不卡| 99re6热在线精品视频播放速度| 黄色成人在线网址| 欧美亚洲综合网| 欧美在线www| 欧美色精品在线视频| 欧美va亚洲va国产综合| 国产精品综合久久久| 99国产精品久久久久老师| 亚洲国产精品久久人人爱蜜臀 | 一区二区免费在线视频| 亚洲高清在线观看| 欧美在线亚洲一区| 久久久久久久成人| 国产一区亚洲| 欧美中文在线观看国产| 欧美在线观看视频在线| 国产精品毛片| 亚洲视频精品在线| 亚洲欧美日韩精品久久亚洲区 | 久久国产视频网站| 国产精品女主播在线观看| 亚洲色诱最新| 午夜精品成人在线| 国产精品私房写真福利视频| 在线一区观看| 欧美中文在线免费| 国产情侣一区| 久久久av网站| 亚洲国产成人久久综合| 亚洲精品欧美激情| 欧美精品日韩精品| 9色精品在线| 欧美亚洲免费电影| 韩国女主播一区| 久久亚洲私人国产精品va媚药| 欧美不卡一卡二卡免费版| 亚洲国产另类久久精品| 欧美精品久久99久久在免费线| 亚洲三级色网| 亚洲欧美日韩区| 国内精品视频666| 欧美成人免费在线| 一区二区三区久久| 狠狠综合久久| 亚洲人成网站777色婷婷| 亚洲精品视频在线看| 欧美高清视频在线播放| 一本色道久久综合狠狠躁篇的优点| 亚洲一区区二区| 国内视频一区| 欧美日韩国产综合久久| 午夜精品www| 亚洲电影有码| 欧美一区二区高清在线观看| 韩日欧美一区二区三区| 欧美福利在线| 午夜一级久久| 亚洲电影免费观看高清完整版| 亚洲精品影院在线观看| 国产精品私房写真福利视频| 久热精品在线视频| 亚洲午夜精品久久久久久app| 老色批av在线精品| 亚洲女同在线| 日韩图片一区| 在线观看一区二区精品视频| 欧美日韩中文字幕精品| 久久久久看片| 亚洲欧美一区二区视频| 亚洲精品少妇30p| 欧美va日韩va| 久久久亚洲一区| 午夜欧美大尺度福利影院在线看| 1000部国产精品成人观看| 欧美午夜电影在线观看| 欧美黄色免费网站| 老牛影视一区二区三区| 亚洲欧美日韩区| 亚洲深夜影院|