Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hi ich bins mal wieder. Da gibts auch schon wieder ein neues Problem für mich.

Das wie folgt aussieht: Thema Thread erstellen und zerstören.

Also ich habe ein Thread-Klasse die ein Dialog mit DoModal() erzeugt. soweit alles supi.

Jetzt will ich aber meine Thread Zerstören und hier blick ich es nicht mehr.

Wie sieht so was aus. Beispiel wäre schön. Danke mal wieder.

:confused:

Man kann TerminateThread verwenden, um einen Thread zu beenden. Allerdings ist das eine gefährliche Sache, weil z.B. auf dem Heap allokierter Speicher, CritSecs und geladene DLLs nicht freigegeben werden.

Du solltest also zuerst den Thread "sanft" beenden, z.B. indem Du ein Flag setzt, das der Thread regelmäßig prüft, und abwarten, ob er sich selbst beendet. Erst wenn das nicht klappt, solltest Du TerminateThread in Erwägung ziehen.

Das Ganze könnte etwa so aussehen:

DWORD dwThreadId;
HANDLE hThread = CreateThread( NULL, 0, ThreadProc, (void*) pParam, 0, &dwThreadId );

// ...irgendwas tun

// Jetzt soll der Thread beendet werden, Flag setzen
fStopThread = TRUE;

// Dem Thread Zeit geben, sich zu beenden.Hier: 5 Sekunden
if( WAIT_OBJECT_0 != WaitForSingleObject( hThread, 5000 ) ) {
// Thread hat nicht terminiert, dann auf die harte Tour
TerminateThread( hThread, 0 );
}
CloseHandle( hThread );
[/CODE]

Danke Danke Danke werde es sofort mal testen.

  • 2 Monate später...

Hy

Meine frage passt da auch zu dieser Materie.

Diese Thread c++ Klasse ist ja beim Standard c++ nicht mit dabei.(oder?)

Wo kann ich mir solch eine Klasse downloaden und welche sind besonders leicht zu handhaben?

Besten Dank

Rain

Originally posted by Rain

Hy

Meine frage passt da auch zu dieser Materie.

Diese Thread c++ Klasse ist ja beim Standard c++ nicht mit dabei.(oder?)

Wo kann ich mir solch eine Klasse downloaden und welche sind besonders leicht zu handhaben?

Besten Dank

Rain

Threads sind ein Service der von dem jeweiligen OS angeboten wird.

Wenn du dir einfach eine Bibliothek besorgst dann bringt das wenig, wenn das von

deinem OS in dieser Form nicht unterstuezt wird.

So bietet z.B. die MFC eine entsprechende Kapselung von Threads an, was aber unter UNIX nicht funktioniert.

Im schlimmsten Fall kannst du eben ganz normale API-Funktionen verwenden um mit Threads zu arbeiten.

:cool:

Frank

Und welche Bibliotheken können für linux verwendet werden?

Besten dank

rain

Originally posted by Rain

Und welche Bibliotheken können für linux verwendet werden?

Besten dank

rain

Ich denke die QT-Version fuer LINUX von TrollTech duerfte das entsprechend abbilden.

Frank

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.