IMemoryOwner<T> Interfaz
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Identifica el propietario de un bloque de memoria que es responsable de eliminar correctamente la memoria subyacente.
generic <typename T>
public interface class IMemoryOwner : IDisposable
public interface IMemoryOwner<T> : IDisposable
type IMemoryOwner<'T> = interface
interface IDisposable
Public Interface IMemoryOwner(Of T)
Implements IDisposable
- T
Tipo de elementos que se van a almacenar en memoria.
- Derivado
- Implementaciones
La IMemoryOwner<T>
interfaz se usa para definir el propietario responsable de la administración de la duración de un Memory<T> búfer. El método devuelve una instancia de la IMemoryOwner<T>
MemoryPool<T>.Rent interfaz.
Aunque un búfer puede tener varios consumidores, solo puede tener un único propietario en un momento dado. El propietario puede:
Cree el búfer directamente o llamando a un método de fábrica.
Transferir la propiedad a otro consumidor. En este caso, el propietario anterior ya no debe usar el búfer.
Destruye el búfer cuando ya no está en uso.
Dado que el IMemoryOwner<T>
objeto implementa la IDisposable interfaz, debe llamar a su Dispose método solo después de que el búfer de memoria ya no sea necesario y lo haya destruido.
No debe eliminar el IMemoryOwner<T>
objeto mientras hay disponible una referencia a su memoria. Esto significa que el tipo en el que IMemoryOwner<T>
se declara no debe tener un Finalize método .
Memory |
Obtiene la memoria que pertenece a este propietario. |
Dispose() |
Realiza tareas definidas por la aplicación asociadas a la liberación o al restablecimiento de recursos no administrados. (Heredado de IDisposable) |
Producto | Versiones |
---|---|
.NET | Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Standard | 2.1 |
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios: