¿Qué hace realmente BlockkingCollection.Dispose?¿Qué hace realmente BlockingCollection.Dispose?
Respuesta
Esto permite desechar correctamente los tiradores de espera internos.
BlockingCollection<T>
, internamente, utiliza un par de asas evento esperar, que a su vez tienen un asociado nativa HANDLE
.
Específicamente, BlockingCollection<T>.Dispose()
los estrenos de las dos manijas de nuevo al sistema operativo, por el tiempo (a través de SemaphoreSlim-> ManualResetEvent) llamando a la CloseHandle método nativo en los dos casos HANDLE
nativos.
Libera todos los recursos utilizados por la instancia actual de la clase
BlockingCollection<T>
. (Source)
Eso es cierto, pero vago ... –
-1. Esto no es útil. –
Tener una mirada rápida con reflector revela esto ...
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;
}
}
y m_freeNodes
es private SemaphoreSlim m_freeNodes;
por lo que libera la SemaphoreSlim que se utilizan internamente.
- 1. ¿qué hace mysql_real_escape_string() realmente?
- 2. ¿Qué hace realmente "OperationContext.Current.GetCallbackChannel"?
- 3. ¿Qué hace stopLoading() realmente?
- 4. ¿Qué hace _locking() realmente?
- 5. PHP: ¿Qué hace pcntl_fork() realmente?
- 6. ¿Qué hace realmente regsvr32 filename.ax?
- 7. wordpress hackeado: ¿qué hace realmente este script?
- 8. ¿Qué hace realmente la propiedad FileDialog.RestoreDirectory?
- 9. ¿Qué hace realmente mutex y semáforo?
- 10. Android SQLite: ¿qué hace realmente SQLiteDatabase.replace()?
- 11. ¿Qué hace realmente el método Dns.GetHostEntry (String)?
- 12. ¿Qué hace esto realmente? - Crazy C++ función
- 13. ¿LD_INCLUDE_PATH realmente hace algo?
- 14. ¿Qué es lo que realmente hace un sistema operativo?
- 15. Qué hace Queue <T> realmente implementar
- 16. ¿Qué hace realmente el código "DECLDIR __declspec (dllexport)"?
- 17. ¿Qué hace realmente la palabra clave del evento?
- 18. ¿Qué hace ExtJS ComboBox triggerAction: "all" realmente funciona?
- 19. ¿Qué es lo que realmente hace una limpieza de TortoiseSVN?
- 20. ¿Qué hace realmente la palabra clave Set en VBA?
- 21. ¿Qué hace realmente el pseudo protocolo de JavaScript?
- 22. ¿Qué hace realmente RegAsm? ¿Dónde se copian los archivos?
- 23. Nombre del método vacío, ¿qué hace esto realmente?
- 24. GENERIC_ALL y carpetas/archivos ACL? ¿Qué hace GENERIC_ALL realmente?
- 25. ¿mysqldump --password realmente hace lo que dice?
- 26. Hace. realmente coincide con cualquier personaje?
- 27. ¿Qué es realmente $ RPM_BUILD_ROOT?
- 28. ¿Qué significa nibNameOrNil realmente?
- 29. ¿Qué significa realmente IsPostBack?
- 30. Frijoles ... ¿qué es realmente
Tuve problemas para deshacerme de la recopilación de bloqueos (por ejemplo, liberar el Take la última vez), hasta que comencé a utilizar CancellationToken, consulte https://stackoverflow.com/a/5759866/1544054 – Aviko