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?
0
A
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
- 1. Wie wird sort für std :: deque implementiert?
- 2. Wie wird `new (std :: nothrow)` implementiert?
- 3. Warum wird std :: find so implementiert?
- 4. Wie std :: unordered_map implementiert
- 5. std :: Asynchron mit überladenen Funktionen
- 6. Accessor-Funktionen für Container mit std :: unique_ptr
- 7. Wie ist std :: has_virtual_destructor implementiert?
- 8. Wie werden iomanip-Funktionen implementiert?
- 9. Std :: Vektor der Funktionen
- 10. Wie wird std :: is_constructible <T, Args> implementiert?
- 11. Wie implementiert man virtuelle Funktionen in Golang?
- 12. Wie könnte std :: experimental :: source_location implementiert werden?
- 13. Wird std :: async garantiert für Funktionen aufgerufen, die void zurückgeben?
- 14. Std :: Liste der ausführbaren Funktionen?
- 15. Passing Member-Funktionen std :: thread
- 16. Wie wird Swipe Gesture in IonicFramework implementiert?
- 17. in unserem Code Quick-Methode wird wie folgt implementiert? Welchen Vorteil bietet die schnelle Methode?
- 18. Windows std :: ifstream :: open() Problem
- 19. Wie wird Referenz intern implementiert?
- 20. Wie implementiert std :: sort die Auslagerungsoperation nur mit Iteratoren?
- 21. Wie wird set() implementiert?
- 22. Wie wird Serializable implementiert?
- 23. Mit Zeiger auf Member-Funktionen mit std :: shared_ptr
- 24. Wie wird OpenID implementiert?
- 25. Wie generisches Objekt in Java implementiert wird, implementiert eine Schnittstelle
- 26. Wie wird pthread_join implementiert?
- 27. In C++ wie wird das Überladen von Funktionen in der Regel implementiert?
- 28. std :: unique_ptr stört bestimmte sf :: RenderWindow-Funktionen?
- 29. Wie wird @private implementiert?
- 30. Welchen Zweck haben Funktionen wie componentWillMount in React.js?
Nun, bei der Umsetzung einen Blick darauf werfen, dann ist es Open Source. –
Können Sie es bitte ausarbeiten? Ich bin zu neu zu diesem Feld – jim
Sie können die 'boost' Quelle herunterladen und inspizieren? Was soll ich eigentlich erarbeiten? –