ArrayPool<T>.Return(T[], Boolean) 메서드

정의

동일한 Rent(Int32) 인스턴스의 메서드를 사용하여 ArrayPool<T> 이전에 가져온 풀에 배열을 반환합니다.

public abstract void Return(T[] array, bool clearArray = false);
abstract member Return : 'T[] * bool -> unit
Public MustOverride Sub Return (array As T(), Optional clearArray As Boolean = false)

매개 변수

array
T[]

메서드를 사용하여 Rent(Int32) 이전에 가져온 풀로 돌아갈 버퍼입니다.

clearArray
Boolean

다시 사용하기 전에 버퍼의 내용을 지워야 하는지 여부를 나타냅니다. clearArray 로 설정true되고 풀이 버퍼를 저장하여 후속 재사용 Return(T[], Boolean) 을 사용하도록 설정하는 경우 메서드는 메서드를 사용하는 array 후속 호출자가 이전 호출자의 콘텐츠를 볼 수 없도록 해당 내용을 지웁 Rent(Int32) 니다. clearArray 로 설정 false 되거나 풀이 버퍼를 해제하는 경우 배열의 내용은 변경되지 않은 상태로 유지됩니다.

설명

버퍼가 풀로 반환되면 호출자는 버퍼의 모든 소유권을 포기하고 이를 사용하면 안 됩니다. 메서드에 대한 지정된 호출 Rent 에서 반환된 참조는 메서드를 한 번만 사용하여 Return 반환되어야 합니다. 기본값 ArrayPool<T> 은 다시 임대하기 위해 반환된 버퍼를 유지하거나 풀에 이미 충분한 버퍼가 저장된 것으로 확인되면 반환된 버퍼를 해제할 수 있습니다.

Important

동일한 배열 참조를 두 번 반환하거나 반환된 후 배열 참조를 계속 사용하는 것은 심각도가 높은 보안 문제입니다. 이러한 작업은 데이터 손상, 데이터 유출 및 서비스 거부를 초래할 수 있는 이중 무료사용 후 취약성 으로 이어질 수 있습니다.

적용 대상