Hi
Bei diesem kleinen Programm, verstehe ich nicht so ganz, warum es die Prozessorauslastung langsam aber sicher nach oben schaukelt?
Klar ist das keine ordentliche while Schleife und um allen Diskussionen aus dem Weg zu gehen... Es interessiert mich einfach.
Ich dachte mir das so, das zwar immer wieder ein neuer Thread gestartet wird, der alte aber mit dem return endet.
Bei diesem kleinen Programm, verstehe ich nicht so ganz, warum es die Prozessorauslastung langsam aber sicher nach oben schaukelt?
Klar ist das keine ordentliche while Schleife und um allen Diskussionen aus dem Weg zu gehen... Es interessiert mich einfach.
Code:
//gcc -Wall -g -m64 -o testing testing.c -pthread -export-dynamic
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/wait.h>
#include <time.h>
#include <pthread.h>
pthread_t test_trd;
void*testing_handler(void*arg)
{
usleep(1000);
pthread_create(&test_trd, NULL, testing_handler, NULL);
return 0;
}
void start_testing(void)
{
pthread_create(&test_trd, NULL, testing_handler, NULL);
}
int main()
{
start_testing();
sleep(999);
return 0;
}
Ich dachte mir das so, das zwar immer wieder ein neuer Thread gestartet wird, der alte aber mit dem return endet.