-1
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void *compute() {
float total;
int i;
float oldtotal =0, result =0;
for(i=0;i<1999999999;i++)
{
result =sqrt(1001.0)*sqrt(1001.0);
}
printf ("Result is %f\n", result);
oldtotal = total;
total = oldtotal + result;
printf("Total is %f\n",total);
return NULL;
}
int main() {
pthread_t thread1, thread2;
pthread_create(&thread1, NULL,compute, NULL);
pthread_create(&thread2, NULL,compute, NULL);
pthread_join(thread1, NULL);
pthread_join(thread2, NULL);
return 0;
}
Только один поток создается при запуске программы. Я проверил это, используя верхнюю команду в cmd, процесс работает на 197%, поэтому я считаю, что два процесса запускаются. Я помню, чтобы скомпилировать его с помощью флага -pthreads.Проблема создания нескольких потоков с pthreads
Откуда вы знаете, что «создан только один поток»? –
Если процесс работает со 100%, то у вас определенно есть несколько потоков. Команда 'top', по умолчанию, не показывает процессы только потоков. –
Как разделить это, чтобы показать несколько процессов? –