Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

[C] Eine andere Art der Endlosschleife

Diskussion: [C] Eine andere Art der Endlosschleife im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Hi Bei diesem kleinen Programm, verstehe ich nicht so ganz, warum es die Prozessorauslastung langsam aber sicher nach oben ...

Antwort
Alt 19.11.10, 14:28   #1 (permalink)
 
Registriert seit: 25.11.06
gugugs Leistung: Facit NTK
Likes: 0
Standard [C] Eine andere Art der Endlosschleife

Anzeige

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.
gugugs ist offline   Mit Zitat antworten
Alt 19.11.10, 17:17   #2 (permalink)
CDW
Moderator
 
Benutzerbild von CDW
 
Registriert seit: 20.07.05
CDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: Opteron
Likes: 202
Standard

http://www.manpagez.com/man/3/usleep/
Zitat:
usleep -- suspend thread execution for an interval measured in microseconds
Du bist sicher, dass der Thread in 1 millisekunde abgearbeitet wird ? Vor allem die Terminierung (und damit vebrundene interne Aufräumaktionen) könnten in mehr als nur "return 0" == "mov eax, 0; RET" auslaufen
__________________
Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf!
Selig, wer nichts zu sagen hat und trotzdem schweigt.
CDW ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 19.11.10, 17:32   #3 (permalink)
Themenstarter
 
Registriert seit: 25.11.06
gugugs Leistung: Facit NTK
Likes: 0
Standard

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.
gugugs ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » [C] Eine andere Art der Endlosschleife
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61