thl*_*ood 4 c linux posix pthreads
这是我的代码.这很简单.
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
void *func(void *arg)
{
printf("ID=%d\n", *(int*)arg);
pthread_exit(NULL);
}
int main()
{
pthread_t pt[4];
int i;
for (i = 0; i < 4; i++)
{
int temp = i;
pthread_create(&pt[i], NULL, func, (void*)&temp);
}
sleep(1);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我编译了它:
gcc p_test.c -lpthread
我跑了 它印了2 2 3 3.我又跑了 它印了2 3 3 2.
我的问题是:
为什么2或3打印两次?
为什么没有打印1 3 2 0或任何其他结果?
| 归档时间: |
|
| 查看次数: |
2172 次 |
| 最近记录: |