您的位置:首页 > 其它

多线程学习系列一 线程创建

2015-08-20 14:39 375 查看
#include<stdio.h>

#include<pthread.h>

#include<unistd.h>

#include<stdlib.h>

struct Attr

{

int data;

char c;

};

void *Print(void *q)

{

struct Attr *p = (struct Attr *)q;

printf("Child thread: %u .Hello world!\n Function Attributes: %d %c\n",(unsigned int)pthread_self(),p->data,p->c);

pthread_exit((void *)2);

return (void *)0;

}

int main()

{

pthread_t thread;

int err;

struct Attr c = {88,'c'};

err = pthread_create(&thread,NULL,Print,&c);

if(err != 0)

printf("Create Thread ERROR!\n");

printf("main thread:%u\n",(unsigned int)pthread_self());

void *tmp;//=(struct Atrr*)malloc(sizeof(struct Attr));

pthread_join(thread,&tmp);

printf("Child Thread exit code: %d \n",(int)tmp);

return 0;

}

运行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: