2016-05-28 7 views
0

Ich möchte wissen Welche Low-Level-Windows-spezifische Funktionen werden verwendet, um in Windows std :: thread/boost :: thread/pthread zu implementieren? DankeMit welchen Low-Level-Windows-spezifischen Funktionen wird std :: thread/boost :: thread/pthread in Windows implementiert?

+3

Nun, bei der Umsetzung einen Blick darauf werfen, dann ist es Open Source. –

+0

Können Sie es bitte ausarbeiten? Ich bin zu neu zu diesem Feld – jim

+2

Sie können die 'boost' Quelle herunterladen und inspizieren? Was soll ich eigentlich erarbeiten? –

Antwort

1

Die Win32-API, CreateThread, ist die Kernfunktion zum Starten eines Threads unter Windows.

Die meisten Dinge, die Sie über Thread-APIs in Windows wissen müssen, finden Sie unter here.

1

http://ci.boost.org/svn-trac/browser/trunk/libs/thread/src/win32/thread.cpp#L134

inline uintptr_t _beginthreadex(void* security, unsigned stack_size, unsigned (__stdcall* start_address)(void*), 
             void* arglist, unsigned initflag, unsigned* thrdaddr) 
{ 
    DWORD threadID; 
    ThreadProxyData* data = new ThreadProxyData(start_address,arglist); 
    HANDLE hthread=CreateThread(static_cast<LPSECURITY_ATTRIBUTES>(security),stack_size,ThreadProxy, 
           data,initflag,&threadID); 
    if (hthread==0) { 
     delete data; 
     return 0; 
    } 
    *thrdaddr=threadID; 
    return reinterpret_cast<uintptr_t const>(hthread); 
} 
+0

Ich bin sicher, es gibt subtilere Implementierungsdetails. –

Verwandte Themen