您的位置:首页 > 运维架构 > Linux

linux线程使用简单实例

2010-08-08 20:40 344 查看
#include <pthread.h>

#include <stdio.h>

#include <stdlib.h>

void * fun(void *p)//接收的只是数据的地址

{

int (*b)[3] = (int (*)[3])p;

int i,j;

for(i=0;i<3;++i)

for(j=0;j<3;++j)

b[i][j] = i*2+j;

pthread_exit((void *)b);//返回操作后的数据的地址

}

int main(void)

{

pthread_t athread;

int ret;

int array[3][3];

int (*p)[3];

int i,j;

ret = pthread_create(&athread,NULL,(void *(*)(void *))fun,(void *)array); //把要操作的数据的地址传入

if(ret != 0)

{

printf("new thread error/n");

exit(-1);

}

ret = pthread_join(athread,(void **)&p);//接收的是数据的地址,所有要传入二级指针

for(i=0;i<3;++i)

{

for(j=0;j<3;++j)

{

printf("%d ",p[i][j]);

}

printf("/n");

}

exit(0);

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