当前位置:  首页  >  服务器技术  >  Linux/unix  >  Linux入门

linux多线程形参是否共享

linux多线程形参是否共享--Linux通用技术-Linux技术与应用信息,下面是详情阅读。
linux多线程 形参是否共享?
这是我编写的多线程程序,我知道在多线程中,程序的全局变量是共享的,但是我不能确定局部变量,也就是说线程函数中的变量的改变,是否影响其他的线程局部变量?这是我的程序源代码:
#include
#include
#include
#include

void *create1(void *arg )
{
int i=0;
int *num;
num=(int *)arg;

for(i=0;i<6;i++)
{
printf("This is a pthread1. i=%d ,attr=%d\n",i,*num);
sleep(1);
}
}

int main(int argc ,char *argv[])
{
pthread_t id1,id2;
int error;

int test1=1;
int *attr1=&test1;
int test2=2;
int *attr2=&test2;

error=pthread_create(&id1,NULL,create1,(void *)attr1);
error=pthread_create(&id2,NULL,create1,(void *)attr2);

printf("pthread_create is created is created ... \r\n");
pthread_join(id1,NULL);
pthread_join(id2,NULL);

exit(0);
}


试验的结果是:
This is a pthread1 i=0 , attr=1
This is a pthread1 i=0 , attr=2
//间隔一秒
This is a pthread1 i=1 , attr=1
This is a pthread1 i=1 , attr=2
//间隔一秒

This is a pthread1 i=2 , attr=1
This is a pthread1 i=2 , attr=2
//间隔一秒
This is a pthread1 i=3 , attr=1
This is a pthread1 i=3 , attr=2
//间隔一秒
This is a pthread1 i=4 , attr=1
This is a pthread1 i=4 , attr=2
//间隔一秒
This is a pthread1 i=5 , attr=1
This is a pthread1 i=5 , attr=2
//间隔一秒
吐了个 "CAO" !
扫码关注 PHP1 官方微信号
PHP1.CN | 中国最专业的PHP中文社区 | PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | PHP问答
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有