Que fait réellement BlockingCollection.Dispose?Que fait réellement BlockingCollection.Dispose?
Répondre
Cela permet de disposer correctement des poignées d'attente internes.
BlockingCollection<T>
utilise, en interne, une paire de handles d'attente d'événement, qui à leur tour ont un HANDLE
natif associé.
Plus précisément, ces deux BlockingCollection<T>.Dispose()
libère poignées dans le système d'exploitation, par la suite (par SemaphoreSlim-> ManualResetEvent) appelant la méthode CloseHandle native sur les deux HANDLE
natifs cas.
Libère toutes les ressources utilisées par l'instance actuelle de la classe
BlockingCollection<T>
. (Source)
C'est vrai, mais vague ... –
-1. C'est inutile. –
Avoir un coup d'œil rapide avec réflecteur révèle ce ...
protected virtual void Dispose(bool disposing)
{
if (!this.m_isDisposed)
{
if (this.m_freeNodes != null)
{
this.m_freeNodes.Dispose();
}
this.m_occupiedNodes.Dispose();
this.m_isDisposed = true;
}
}
et m_freeNodes
est private SemaphoreSlim m_freeNodes;
il libère le SemaphoreSlim qui sont utilisés en interne.
- 1. Que fait réellement NSLog?
- 2. Que fait réellement "OperationContext.Current.GetCallbackChannel"?
- 3. Que fait réellement ifstream :: rdbuf()?
- 4. OpenGL - que fait réellement glDeleteTextures?
- 5. Que fait réellement SubclassFetchMode (Kodo OpenJPA)?
- 6. Que fait réellement dmake lors de l'installation d'un nouveau module?
- 7. Que fait exactement reloadData?
- 8. Que signifie réellement "externe =>"?
- 9. Que fait exactement FillMode?
- 10. NameValueCollection ne fait réellement rien avec son IEqualityComparer?
- 11. Que fait réellement "mettre à jour la cible actuelle pour ipad"?
- 12. Que fait réellement <tx: annotation-driven /> dans Spring au niveau du code?
- 13. Que font réellement les fichiers pdb?
- 14. Que signifie réellement le nombre entre parenthèses?
- 15. Que sont réellement les annotations Scala?
- 16. Qu'est-ce que c'est réellement php session_id?
- 17. Que fait glLoadIdentity() en OpenGL?
- 18. Que fait cette fonction?
- 19. IIS7 - que fait MaxProcesses?
- 20. Que fait l'opérateur =>?
- 21. Que fait ce code?
- 22. Que fait Application.Run()?
- 23. Que fait ce CSS?
- 24. Que fait "render @collection"?
- 25. que fait l'identité @@ identity?
- 26. Que fait "mro()"?
- 27. Que fait readlink systemcall?
- 28. Que fait exactement @synthesize?
- 29. Que fait g_signal_connect_swapped()?
- 30. Que fait ce code?
J'ai rencontré des problèmes pour disposer de la collection de blocage (ex: libérer la dernière fois), jusqu'à ce que je commence à utiliser CancellationToken, voir https://stackoverflow.com/a/5759866/1544054 – Aviko