Я пытаюсь написать код, используя потоки posix, но я застрял с первого шага и, честно говоря, я не могу понять, почему. Я знаю, что моя проблема, вероятно, связана с некоторой синхронизацией, но я не могу понять это.
В основном у меня есть следующее:
while(1){
int x = getX();
pthread_t t;
printf("Main: %d\n",x);
pthread_create(&t, NULL, process_x, &x);
}
Когда я пытаюсь вывести значение x из основного, а также из функции process_x, я получаю что-то вроде этого:
Основной: 1
Основной: 2
Основной: 3
Основной: 4
Основной: 5
Process_x: 5
Что мне здесь не хватает?
---- РЕДАКТИРОВАТЬ -----
ОК, возможно, мне нужно предоставить больше информации. Функция getX получает данные из сокета и возвращает идентификатор, в то время как для наших нужд теперь process_x просто печатает полученный аргумент.