Back to "Gedelegeerd.BeginInvoke() en geheugenlekken..."

This is a viewer only at the moment see the article on how this works.

To update the preview hit Ctrl-Alt-R (or ⌘-Alt-R on Mac) or Enter to refresh. The Save icon lets you save the markdown file to disk

This is a preview from the server running through my markdig pipeline

.NET C# Imported mostlylucidcouk

Gedelegeerd.BeginInvoke() en geheugenlekken...

Friday, 20 February 2004

Ik raak steeds meer betrokken in de wereld van Asynchrony en heb wat rondgegraven in de valkuilen van multi-threading. Ik kwam vandaag een interessante over met betrekking tot het gebruik van BeginInvoke zonder een overeenkomstige EndInvoke bij het gebruik van afgevaardigden...veel boeken (inclusief degene die ik het meest gebruik op dit moment, de uitstekende Programmeren .NET Componenten door Juval Lowy) vermelden dat een goede manier om gebeurtenissen asynchroon (d.w.z. niet blokkeren) is om eenvoudig te bellen BeginInvoke op de gedelegeerde - cool lijkt gemakkelijk genoeg! Nou, een beetje lezen, ik ontdekte dit door Mike Woodring die deze verklaring bevat: "In het begin van de 1.1 release van het .NET Framework, de SDK docs dragen nu een waarschuwing dat mandaten aanroepen EndInvoke op afgevaardigden die u hebt gebeld BeginInvoke op om potentiële lekken te voorkomen. Dit betekent dat je niet gewoon "fire-and-forget" een oproep naar BeginInvoke zonder het risico van het uitvoeren van het risico van het veroorzaken van problemen. " Ik kan het stukje in de dokters niet vinden dat dat zegt, maar een ander artikel op O'Reillygreat-britain_counties.kgm Nou, gebaseerd op dit bewijs, lijkt het een goed idee om dit potentiële lek te vermijden, gelukkig. Mike's spullen. heeft een handige kleine helper klasse die de 'Vuur en vergeet idioom' - makkelijk dood, nu kan ik heerlijk vuur hebben en telefoontjes vergeten zonder zich zorgen te maken over onbedoelde lekken:-)

UPDATE: Ik heb de doc referentie gevonden, als je MSDN hebt is het Hier., zo niet de on-line versie is Hier.

logo

© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.