日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux 多线程开发-线程创建pthread_creat

發布時間:2023/12/10 linux 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux 多线程开发-线程创建pthread_creat 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、函數原型

int pthread_creat(pthread_t *pid, const pthread_attr_t *attr,void *(*start_routine)(void *),void *arg);
  • pid:返回創建成功后的線程ID,unsigned int型變量;
  • attr:設置線程屬性,為NULL則為默認屬性;
  • start_routine:指向線程函數;
  • arg:直線傳遞給線程的參數。
  • 2、用法

    (1)包含頭文件 #include <pthread.h>

    (2)編譯連接添加 -lpthread

    3、示例

    示例1:不傳參數

    #include <pthread.h> #include <stdio.h> #include <unistd.h> //sleepvoid thread_func(void) {int i;for(i = 0; i < 3; i++){printf("thread cur cnt:%d\n",i);}printf("thread_func exit\n");return; } int main(int argc,char *argv[]) {pthread_t thrid;int ret;ret = thread_creat(&thrid,NULL,(void *(*)(void *))thread_func,NULL);if(ret){printf("pthread creat error:%d\n",ret);return -1;}sleep(1);return 0; }

    sleep(1)讓main等待1秒,讓線程執行。

    示例2:傳遞整形

    #include <pthread.h> #include <stdio.h> #include <unistd.h> //sleepvoid thread_func(void *arg) {int i;int *ptr = (int*)arg;int cnt = *ptr;printf("thread cur cnt:%d\n",cnt);printf("thread_func exit\n");return; } int main(int argc,char *argv[]) {pthread_t thrid;int ret;int n = 5;ret = thread_creat(&thrid,NULL,(void *(*)(void *))thread_func,&n);if(ret){printf("pthread creat error:%d\n",ret);return -1;}sleep(1);return 0; }

    總結

    以上是生活随笔為你收集整理的Linux 多线程开发-线程创建pthread_creat的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。