-
#include <stdio.h>
-
#include <pthread.h>
-
-
int *pa = NULL;
-
-
void * fn_thread1(void * c);
-
-
int main(void)
-
{
-
pthread_t tid;
-
int err = 0;
-
-
int a = 4;
-
pa = &a;
-
-
if ((err = pthread_create(&tid, NULL, fn_thread1, NULL)) != 0) {
-
fprintf(stderr, "pthread_create error:%d\n", err);
-
return -1;
-
}
-
-
sleep(1);
-
return 0;
-
}
-
-
void * fn_thread1(void * c)
-
{
-
printf("thread1: a = %d\n", *pa);
-
}
运行结果:
thread1: a = 4
只有寄存器中的内容线程间互相访问不到,其他凡是进程地址空间的都能访问到,包括线程栈中的内容。
阅读(1268) | 评论(0) | 转发(0) |