2

const readonly

教大家怎么在linux中创建线程

方法如下:

一、首先需要包含类库:#include <pthread.h>

二、函数原型如下:

int pthread_create(pthread_t * thread, const pthread_attr_t * attr, 

     void * (*start_routine)(void*)), void * arg);

参数:

thread            -> 线程ID

attr                 -> 线程属性

start_routine  -> 线程函数

arg                  -> 线程入参  

三、代码示例如下:

#include<stdio.h>

#include<stdlib.h>

#include<pthread.h>

/* 声明结构体 */

struct member

{

int num;

char *name;

};

/* 定义线程pthread */

static void * pthread(void *arg)

{

struct member *temp;

/* 线程pthread开始运行 */

printf("pthread start!");

/* 令主线程继续执行 */

sleep(2);

/* 打印传入参数 */

temp = (struct member *)arg;

printf("member->num:%d",temp->num);

printf("member->name:%s",temp->name);

return NULL;

}

/* main函数 */

int main(int agrc,char* argv[])

{

pthread_t tidp;

struct member *b;

/* 为结构体变量b赋值 */

b = (struct member *)malloc(sizeof(struct member));

b->num=1;

b->name="mlq";

/* 创建线程pthread */

if ((pthread_create(&tidp, NULL, pthread, (void*)b)) == -1)

{

printf("create error!");

return 1;

}

/* 令线程pthread先运行 */

sleep(1);

/* 线程pthread睡眠2s,此时main可以先执行 */

printf("mian continue!");

/* 等待线程pthread释放 */

if (pthread_join(tidp, NULL))

{

printf("thread is not exit...");

return -2;

}

return 0;

}

本文来自网络,不代表本站立场。转载请注明出处: https://tj.jiuquan.cc/a-2379957/
1
上一篇confirmemailaddress
下一篇 龚琳娜:舞剧白蛇世界首演

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: alzn66@foxmail.com

关注微信

微信扫一扫关注我们

返回顶部