Hi alL! Помогите pls проблема с потоками..ю глюки... пока не понятно у меня или у системы!!! Текст программки:
#include <stdio.h> #include <pthread.h>
int j = 2; int i = 1; int k = 3; pthread_t client_th; pthread_t parent_th;
void* subclient(void* p) { printf("subclient %d\n",*(int*)p); pthread_exit(NULL); }
void* firstclient(void* p) { printf("client %d\n",*(int*)p); pthread_create(&client_th,NULL,&subclient,&k); pthread_exit(NULL); return NULL; }
int main(int argc,char** argv) { printf("parent\n"); pthread_create(&parent_th,NULL,&firstclient,&i); }
Копилирую gcc main.c -o main -lpthread Запускаю, смотрю вывод программы: первый раз: parent client 1 subclient 3 второй раз: parent client 1 client 1 третий раз: parent client 1 client 1 subclient 1 четвертый: parent client 1 subclient 3 subclient 3
ЧТО ТАКОЕ!!!!! ПОЧЕМУ!!!! Я ГЛЮЧУ или СИСТЕМА? (Slackware 8,glibc 2.2.3, gcc 2.95.3) Буду признателен за любой совет :) ~ ~ ~ ~ ~ ~