日期:2014-05-16  浏览次数:20723 次

pthread多线程的疑问
请问,pthread的pthread_create中第三个参数可不可以出现相同的呢?如果相同会怎么样?
比如:

#define MAX_P            30
pthread_t tidP[MAX_P];
for(int i=0; i<MAX_P; i++) {
    ParP[i] = i;
    pthread_create(&tidP[i], NULL, proc, &ParP[i]);
}

谢谢了!

------解决方案--------------------
引用:
Quote: 引用:

肯定可以的阿!
第三个参数只是一个函数地址而已!
也通过地址去调用函数接口的。

那么变量什么的呢?函数内的变量是自己独有一份还是共享的?就是proc函数中的那些


每个线程有自己的栈,局部变量是在栈里。所以,虽然用的是同一个函数,但是他们用的局部变量都是独立的。