[C] Eine andere Art der Endlosschleife

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.

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.
 
Ja, das hab ich mir auch gedacht, das es daran liegt. Aber in einem weitaus größerem anderen Programm, hab ich genau so eine Art Schleife, die aber minimal 5 Sekunden dauern muss. Bei dieser Schleife schaukelt sich das Programm auch nach geraumer Zeit (5-10 Stunden) nach oben.
 
Zurück
Oben