Threads ?
-
Mit reinen C++-Sprachmitteln geht das ja schlecht. Sonst bräuchten wir keine Boost-Lib und C++ würde das von Haus aus können.
Boost macht das natürlich über die jeweilige Platform-API.
-
Huhu,
merci für die präzise Antwort. Ich bin noch nicht so lange dabei in der Programmierung. Ich dachte, dass es eventuell keine richtigen Betriebssytem-Threads sind, sondern eine Art Pseudo-Threads, die den Eindruck erwecken als wären da echte Threads am Laufen. Eine Art Zeitscheiben-System innerhalb eines Programms, das durch komplexe Programmierung und inline-Assembler (gut: dann wären es wieder keine C++Sprachmittel ;)) erreicht wurde.
Damit liege ich wohl total daneben. Aber wie schon gesagt: ich stecke in der Materie noch nist so sehr drin'. Verzeiht' mir meine naive Annahme.
Grüße
-
Wenn ich jetzt die Threads benutzen möchte von Boost, hab da im Forum schon gesehen wie man die "initialisiert" muss ich dann alles andere auch als Thread machen oder kann der rest so normal ohne threads lassen ?
-
Die Frage verstehe ich nicht.
-
Hi Mortal2006,
hast du irgendne Ahnung was Threads sind, und wie sie funktionieren. Ich hab
nicht den Eindruck und empfehle dir daher dringend dich darüber ein wenig zu
informieren sonst wirst du nicht viel Freude an deinem Programm haben.mfg JJ
-
such mal im Winapi forum nach threads da wirst du fündig.
-
Naja wieviel Ahnung ich von Threads hab hab ich ja im ersten Post gesagt
Ich bin einfach davon ausgegangen das man damit das machen kann was ich brauch ... ich werds jetzt einfach mal testen ...
-
Mortal2006 schrieb:
Da wäre es ja am einfachsten wenn z.b. die Funktion "GegnerErstellen" erstmal mit Sleep(xxx) angehalten wird und dann irgendwie als Thread im hintergrund laufen würde
Das einfachste wäre ein Timer, der nach z.B. 5sec. eine Funktion aufruft, die einen Gegner erstellt. Wenn du die SDL benutzt, dann hast du Timerfunktionen mit dabei.
Ich Schätzte, dass du einen Mail-Loop hast, wo dein Spiel drin abläuft. Darin kanst du auch einfach einen Counter plazieren, der runter zählt bis ein Gegner erzeugt werden soll.
-
Das ist cool
dann brauch ich das mit den Threads erstmal nicht mehr !
Thx!
-
Ich hab jetzt doch nochmal ne frage, die bezieht sich zwar nicht auf threads, aber da es schon so viele timer Threads gibt...
Was ist eine Callback funktion ? Ich hatte mir das so vorgestellt das die Funktion
aufgerufen wird wenn der Timer abgelaufen ist, scheint aber nicht so zu sein ...
Muss ich den Timer jetzt abfragen um dann seperat eine funktion zu starten ?if(TimerID <= 0)
-
Mortal2006 schrieb:
Was ist eine Callback funktion ? Ich hatte mir das so vorgestellt das die Funktion
aufgerufen wird wenn der Timer abgelaufen istEin Callback is eine Funktion, die aufgerufen wird, wenn ein bestimmtes Ereigniss auftritt. Die Funktion sollte aufgerufen werden, wenn der Timer abgelaufen ist.
Wie hast du denn jetzt den Timer implementiert? Mit der SDL, mit der WinAPI, oder mit Signalen?
-
... Blub ...
Ich hatteSDL_TimerID blubber; blubber = SDL_AddTimer(1000, Callback, NULL);
vor
SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER)
gemacht
Obs daran lag ? ka ...