У меня вопрос о потоках C и их возвращаемом значении. Моя цель - найти все простые числа между начальным числом и конечным числом. У меня будет 4 потока, и каждая нить выполняет четверть диапазона.C нити и присоединение
Так, например, простые числа от 1 до 100.
- нить 1 находит простые числа от 1 - 25
- нить 2 26 - 50
- нить 3 51 - 75
- нить 4 76 - 100
Все простые числа будут храниться в массиве, и будет выполняться функция, которая вычисляет простые числа.
Мой вопрос, когда я присоединяюсь нити
pthread_join(tids[i], ptr);
будет PTR быть указателем на объединенный массив всех простых чисел, 1 - 100?
Значение, если я использую цикл для печати значений
printf("%d", ptr[i]);
он будет печатать все простые числа от 1 - 100, как один большой массив?
Я присоединяюсь к 4 отдельным массивам?
Спасибо
Хорошо, спасибо. А также я могу объявить пустоту * ptr = NULL; а затем в моей функции соединения do pthread_join (tids [i], &ptr); Будет ли это работать? – user2817240
Итак, в этом случае ptr - это переменная, которая указывает на массив. Поэтому я могу использовать цикл for, нанести указатель на мою структуру типа и печатать простые числа в массиве? – user2817240
Так как у меня будет 4 массива, могу ли я использовать переменную ptr и сделать один массив и вернуть это? – user2817240