ArrayPool<T>.Return(T[], Boolean) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
동일한 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
동일한 배열 참조를 두 번 반환하거나 반환된 후 배열 참조를 계속 사용하는 것은 심각도가 높은 보안 문제입니다. 이러한 작업은 데이터 손상, 데이터 유출 및 서비스 거부를 초래할 수 있는 이중 무료 및 사용 후 취약성 으로 이어질 수 있습니다.