im, пишу программу, которая использует 8 нитей для квадратов чисел от 1 до 10000. У меня уже написана большая часть моего кода, но мой вопрос в том, как бы я определил, какие нити будут квадратными, какие числа. Я тоже слишком многопоточен. уточнить:Скважирование и многопоточность в c
Im возводит в квадрат числа от 1 до 100000, используя 8 потоков и записывая их в файл. Открытие файла и закрытие файла в порядке, но запись каждого квадрата из каждого потока является частью уравнения здесь. Это моя первая программа, использующая потоковый поэтому я предположил, что вам нужно сказать каждую нить, какое число в квадрат, чтобы
идеала я хочу:
нити 1: 1^2
резьба 2: 2^2
нить 3: 3^2
и т.д. через 10000 ...
в моей основной функции, код, который создает функцию, а затем ждет для резьбы до конца это:
for (i = 0; i < NUMBER_OF_THREADS; i++) {
printf("Main here. Creating thread %luu\n", i);
status = pthread_create(&threads[i], NULL, square_root_integer, (void *) i);
if (status != 0){
printf("Error: pthread_create returned error code %0ld\n", status);
exit (-1);
}
}
for (i = 0; i < NUMBER_OF_THREADS; i++){
if (pthread_join(threads[i], NULL)){
printf("Thread %lu failed to join\n",i);
}
}
функция аннулируется, что потоки будут работать так:
void *square_integer(void *tid)
Так или иначе, в главной функции мне нужно передать номер, который должен быть квадратом к функции «square_integer».
Любая помощь будет отличной, и если вам, ребята, нужна дополнительная информация, дайте мне знать!
Ваше название говорит «квадратные корни»; в некоторых комментариях говорится «квадраты». Функция снова говорит «квадратные корни». Что он? Вы также упомяните 8 тем и обсудите еще 10 000 потоков - опять же, что вы делаете? –
жаль, ребята, поздно, я редактировал сообщение. Im печатает числа в файл, который является кодом, который я уже написал. Im возводит в квадрат числа от 1 до 100000, используя 8 потоков. Это моя первая программа, использующая pthread, поэтому я предположил, что вам нужно рассказать каждой теме о том, какое число нужно по порядку. –