Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » KDevelop / Qt / wxWidget » thread beenden

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 < [ 3 ]
010
03.09.2003, 13:59 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@Loddab
Vielleicht doch mal nen Grund sich auch Linux zu installieren
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
03.09.2003, 14:02 Uhr
~bussibär
Gast


ja, bei mir war das kostenlos bei redhat linux dabei.

es ist halt nur solange kostenlos, solange du es nicht geschäftlich benutzt.



@loddab:
des blöde ist, dass ich mit ner while(1)-schleife im run häng, was ich auch haben möchte. ich möchte aber auf ein signal den Thread wieder beenden.

wie kann ich denn den konstruktor aufrufen? Beispiel?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
03.09.2003, 14:07 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


das kannst du bestimmt mit nem Flag machen

Zeig mal den Code vielleicht hat ja jemand ne Idee wie das dilemma zu lösen ist
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
03.09.2003, 14:13 Uhr
~bussibär
Gast



C++:
void meinThread ::run()
{
xxx->kreiere_socket();
xxx->empfange_daten();

}

void meinThread::empfange_daten()
{
   while(1)
   {
   recvfrom(.........);
   }

}



ich will aber jetzt in einer anderen Methode den Thread wieder killen, diese Methode wird z.B. durch Klicken eines Buttons aufgerufen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
03.09.2003, 14:17 Uhr
typecast
aka loddab
(Operator)


Dann pack mal eine Variable

C++:
  bool finish;


In deinen Code ein und schreibe

C++:
void meinThread::empfange_daten()
{
  while(!finish)
  {
  recvfrom(.........);
  }


Wenn der Thread beendet werden soll, kannst du ihn ja kurz schlafen legen und dann finish = true setzen.
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
03.09.2003, 14:20 Uhr
typecast
aka loddab
(Operator)


Oh ich hab die Frage mit dem konstruktor vergessen:

Wenn du ein Objekt deklarierst, wird automatisch der Konstrukor aufgerufen. Deutlich sieht man das bei folgendem Code:

C++:
MyObject *meineInstanz;
meineInstanz = new MyObject();
...
delete meineInstanz; // <-- hier wird dann der Destruktor aufgerufen


--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
03.09.2003, 14:27 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


um noch mal auf den desturktor zu kommen

wenn du das objekt einfach nur anlegst(also nicht mit new) dann wird der destruktor automatisch aufgerufen wenn der block innerhald dessen sich dein objekt befindet zuende ist


C++:
void meinMethode(){
MyObject meineInstanz;
...

} //Block ist zuende und der destruktor wird automatisch aufgerufen.


wenn du das ganze nicht glaubst, kannst du im destruktor ja ne ausgabe machen, dann siehst du das der auch aufgerufen wurde
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
03.09.2003, 14:35 Uhr
~bussibär
Gast


@heiko: ich möchte ja nicht dass dort der destruktor aufgerufen wird.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
03.09.2003, 14:36 Uhr
~bussibär
Gast


oh, sorry. @windalf!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
03.09.2003, 14:38 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


wenn du das nicht willst musst du das entweder so machen wie loddab beschrieben hat oder das Teil in z.b. main anlegen
dann wird es erst gekillt wenn das programm bzw main beendet wird
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 < [ 3 ]     [ KDevelop / Qt / wxWidget ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: