一個異步問題:EndInvoke() - 可選還是不可以?
我一直在閱讀互聯網上的很多文章贊成和反對Delegate.EndInvoke()是可選的。大多數這些文章是4-5歲。很多死鏈接。
誰能解釋,在.NET 2.0 - 是的EndInvoke()確實防止否則,必然內存泄漏,如果是你能請註明什麼原因導致這種泄漏?
就同一議題:如果EndInvoke會()確實是一個必須的 - 我覺得實現使用運行的EndInvoke()的回調方法發射後不管機制的最佳途徑。我很樂意聽到任何人的看法。
感謝, Ø
fire-n-forget是什麼意思?我假設:1)如果你做了一個BeginInvoke並且既不使用輪詢,也不使用輪詢,等待句柄或者回調,那麼它是一個非常火的方法。2)只有void return方法可以用於fire-n-forget,所以你不需要在執行BeginInvoke之後,擔心使用上述三個之一。我認爲,如果你建議使用回調來避免內存泄漏,那麼它就不會再被遺忘了。 – 2009-10-30 04:14:15
這正是我的問題。如果指南總是使用EndInvoke(),那麼就沒有選項可以繼續使用。有點奇怪。 – tsemer 2009-11-02 12:47:22