Es ist recht gut dokumentiert, dass wenn der automatische Garbage Collector von .NET ausgeführt wird, alle laufenden verwalteten Threads, die der Anwendungsdomäne zugeordnet sind, vorübergehend angehalten werden. Was ich nicht entdecken konnte, sind Details darüber, was mit nativen Threads geschieht, die von der Anwendung erstellt werden, wenn die Garbage Collection stattfindet (zB mit _beginthreadex() anstelle von System.Threading.Thread()). Sind sie ähnlich pausiert oder läuft der Link?.NET Garbage Collection und Native Threads
Antwort
Hilft this?
„Ein GC wird Fäden nicht aufhören, die nicht laufenden Code verwaltet werden. Da diese Threads können nicht die sowieso Haufen GC berühren werden, gibt es keine Notwendigkeit für die GC mit ihnen zu koordinieren.“
„Wenn ein Thread in verwaltetem Code wurde aber zu nativen Code genannt, wird es laufen weiter. Es wird angehalten, wenn es zurück an verwalteten Code zurückgibt.“
+1 Schöne Verbindung. Sehr interessante Sachen. Ich hoffe, es macht Ihnen nichts aus, ich habe Ihren Beitrag bearbeitet, um das relevante Bit aus dem Blog einzufügen, falls es offline geht. –
Das ist interessant. Warum können diese Threads den GC-Heap nicht berühren? Was ist mit 'gcroot
Sobald ein nativer Thread verwalteten Code verwendet, wird er beim Garbage Collector registriert. Wenn der GC ausgeführt wird, wird der Thread daher ausgesetzt. Erst wenn der Thread stirbt, wird er nicht mehr registriert. –
- 1. Python-Threads Garbage Collection
- 2. Garbage Collection in Perl-Threads
- 3. . Net Garbage Collection auf LoH
- 4. IIS-Anwendungspool und .NET-Garbage Collection
- 5. Garbage Collection in .Net 4.0
- 6. Garbage Collection und Strings
- 7. Querverweise und Garbage Collection
- 8. Wie Debuggen von .net Garbage Collection?
- 9. Garbage Collection
- 10. Externe Garbage Collection extern auslösen
- 11. Forcing Garbage Collection
- 12. asp.net Garbage Collection Benachrichtigungen
- 13. Background Worker und Garbage Collection?
- 14. Numpy und matplotlib Garbage Collection
- 15. Rx-Subskriptionen und Garbage Collection
- 16. Java Garbage Collection und null
- 17. AutoCloseable und Garbage Collection Beziehung
- 18. Unterschied zwischen Hintergrund und gleichzeitige Garbage Collection?
- 19. Garbage Collection eines Objekts, das Verweis auf lebendige Threads enthält
- 20. Unity3D: Garbage Collection optimieren
- 21. Garbage Collection in Perl
- 22. THREE.js webGL Garbage Collection
- 23. Garbage Collection in bash
- 24. Hardware Assisted Garbage Collection
- 25. Java Garbage Collection Zeit?
- 26. nodejs garbage collection output
- 27. requestAnimationFrame Garbage Collection
- 28. Garbage Collection in CGO
- 29. java garbage collection
- 30. Garbage Collection und asynchrone Aufrufe/Future-Objekte
Requisiten auf die große Frage. (props ++) –
Siehe auch [hier] (http://stackoverflow.com/questions/8404245/gc-behavior-and-clr-thread-hijacking) und [hier] (https://msdn.microsoft.com/de) -us/Bibliothek/678ysw69.aspx). – Nicholas