4
:자원 관리 시퀀스 표현의 내부에 "사용"을 사용하여 내가 완료있을 때 내가 정리하고 싶은 자원의 사용을 만드는 간단한 시퀀스 표현이
type MyObject() =
member this.Items =
seq {
use resource = ResourcePool.Get()
let c = resource.ValueCount
if c > 0 then
for i in 0 .. c - 1 do
yield resource.GetValue i
}
하는 경우를 그런 다음 항목을 반쯤 반복하면서 시퀀스를 사용하면 언제 리소스가 삭제됩니까? 예를 들어
은 : resource
Seq.find 후 배치 할 것인가
// ...
let foo = MyObject
let item = foo.Items |> Seq.find (fun i -> i.Name = "name")
// ...
이 완료
? 아니면 내 자원 관리 전략을 재검토해야합니까?
나는 그것이 내가 두려워하는 것 같아요 ... 언제 IEnumerator가 삭제 되었습니까? 내 리소스가 오랫동안 메모리에 잠기지 않을까요? – JDB
짧은 대답은 아니오입니다. 좀 더 자세한 내용을 추가했습니다. – Daniel