Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

04.12.2007, 16:44

Problem bei Multithreading in Vista...

Hallo.
Ich habe mir hier mal das Tutorial angeguckt´"Multithreading"
Doch das klappt bei mir nicht.
(Ich habe das erste einfache beispiel komplett kopiert).
Er sagt nur das der Thread geöffnet wurde macht aber nichts weiter. Also der Thread startet nicht (nur die nummer wird angezeigt z.B. 8100).
Liegt das an Vista?
Ist in dem Programm was Falsch?

C-/C++-Quelltext

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
#include <stdio.h> 
#include <conio.h> 
#include <windows.h> 
#include <iostream>
using namespace std;

DWORD WINAPI ThreadProc(LPVOID lpParam) 
{ 
    int i; 

    printf("Ich bin ein Thread und werde mich in 5 Sekunden von selbst beenden\n"); 

    for(i=5; i>0; --i) 
    { 
        printf("Noch %d Sekunden\n", i); 
        Sleep(1000); 
    } 

    printf("Und Tschuess\n"); 
    return((DWORD)lpParam); 
} 

int main() 
{ 
    DWORD    threadId; 
    HANDLE    threadHandle; 

    int i=0; 

    printf("Ich bin das Hauptprogramm\n"); 

    threadHandle = CreateThread(NULL, 0, ThreadProc, NULL, CREATE_SUSPENDED, &threadId); 

    printf("Thread mit der ID=%d gestartet\n", threadId); 


    Sleep(5000);

    CloseHandle(threadHandle); 

    return 0; 
}


Gruß Flo

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

2

04.12.2007, 16:47

Schau mal in welchem Zustand du den Thread startest.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

3

04.12.2007, 17:08

wie muss ich das verstehen?

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

4

04.12.2007, 17:19

1) http://dict.leo.org/ende?lp=ende&lang=de&searchLoc=0&cmpType=relaxed&sectHdr=on&spellToler=on&search=suspended&relink=on

2) http://msdn2.microsoft.com/en-us/library/ms682453.aspx

Zitat von »"MSDN"«

The flags that control the creation of the thread. If the CREATE_SUSPENDED flag is specified, the thread is created in a suspended state, and will not run until the ResumeThread function is called. If this value is zero, the thread runs immediately after creation.


;)

5

04.12.2007, 19:11

vielen dank :)

Werbeanzeige