_unadopt_thread

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu process.h - Index


Header-Datei

process.h

Kategorie

Prozesssteuerungsroutinen

Prototyp

void _unadopt_thread(_PTHREAD_ADOPTION_DATA thd);

Beschreibung

Gibt die RTL-spezifischen, mit einem vorherigen Aufruf von _adopt_thread verknüpften Thread-Daten frei.

Rückgabewert

Keiner.

Beispiel

#include <process.h>
#include <windows.h>
void adopted_thread(void*)
{
  printf("Running in a RTL-managed thread!\n");
}

unsigned long __stdcall winapi_thread(void*)
{
  /*
   Dieser Code wird auf einem anderen Thread ausgeführt, der von CreateThread-Win-32 erstellt wurde.
   _adopt_thread wird verwendet, um die Ausführung in der RTL-verwalteten 
   Routine fortzusetzen (in dem selben Thread-Kontext).
  */
  printf("Wird in einem einfachen Thread ausgeführt! Anpassen von ...\n");
  _PTHREAD_ADOPTION_DATA data = _adopt_thread(adopted_thread, NULL, false);

  /* Gibt den Thread und dessen Ressourcen frei */
  printf("Zurück zum OS-Thread! Gibt die Adoption frei ...\n");
  _unadopt_thread(data);
}

int _tmain(int argc, _TCHAR* argv[])
{
  /* Einen Thread mit Hilfe der APIs des Betriebssystems und nicht mit Hilfe von RTL erstellen */
  unsigned long threadId;
  CreateThread(NULL, 0, winapi_thread, NULL, 0, &threadId);

  Sleep(100);

  return 0;
} 

Portabilität



POSIX Win32 ANSI C ANSI C++

+