Linux多线程编程的基本的函数.doc

Linux多线程编程的基本的函数.doc

ID:51437848

大小:553.00 KB

页数:14页

时间:2020-03-24

Linux多线程编程的基本的函数.doc_第1页
Linux多线程编程的基本的函数.doc_第2页
Linux多线程编程的基本的函数.doc_第3页
Linux多线程编程的基本的函数.doc_第4页
Linux多线程编程的基本的函数.doc_第5页
资源描述:

《Linux多线程编程的基本的函数.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Linux多线程编程的基本的函数函数原型:                  #include int pthread_create(pthread_t *restrict tidp,const pthread_attr_t *restrict attr, void *(*start_rtn)(void),void *restrict arg);   返回值:若是成功建立线程返回0,否则返回错误的编号   形式参数:           pthread_t*restricttidp要创建的

2、线程的线程id指针           constpthread_attr_t*restrictattr创建线程时的线程属性           void*(start_rtn)(void)返回值是void类型的指针函数           vodi*restrictarg  start_rtn的行参  例题1:     功能:测试建立一个新的线程     程序名称:pthread_test.c     #include #include void *create(voi

3、d *arg)...{    printf("new thread created ..... ");    }int main(int argc,char *argv[])...{    pthread_t tidp;    int error;    error=pthread_create(&tidp,NULL,create,NULL);    if(error!=0)    ......{        printf("pthread_create is not created ... ");     

4、   return -1;    }    printf("prthread_create is created... ");    return 0;}    编译方法:#gcc -Wall -lpthread pthread_test.c   因为pthread的库不是linux系统的库,所以在进行编译的时候要加上-lpthread,否则编译不过,会出现下面错误thread_test.c: 在函数 ‘create’ 中:thread_test.c:7: 警告: 在有返回值的函数中,程序流程到达函数尾/tmp

5、/ccOBJmuD.o: In function `main':thread_test.c:(.text+0x4f):对‘pthread_create’未定义的引用collect2: ld 返回 1现在我们能建立了一个线程了,我们可以从函数的原型看到,在创建线程的时候,是可以在对我们的函数进行传递参数,在pthread_create的第四个行参。我们看一下例题2~3.   例题2   功能:向新的线程传递整形值   程序名称:pthread_int.c   #include #include 

6、#include void *create(void *arg)...{    int *num;    num=(int *)arg;    printf("create parameter is %d  ",*num);    return (void *)0;}int main(int argc ,char *argv[])...{    pthread_t tidp;    int error;        int test=4;    int *attr=&

7、test;        error=pthread_create(&tidp,NULL,create,(void *)attr);    if(error!=0)    ...{        printf("pthread_create is created is not created ... ");        return -1;    }    sleep(1);    printf("pthread_create is created is  created ... ");    return 

8、0;}   编译方法:gcc -lpthread thread_int.c -Wall   执行结果:create parameter is 4pthread_create is created is  created ...   例题总结:   可以看出来,我们在main函数中传递的整行指针,传递到我们新建的线程函数中。   在上面的例子可以看出来我们向新的线程传入了另一个线程的in

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。