🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: nl.comp.programmeren
Article #470

Re: C# garbage collector

#470
From: Gerrit Cornelis
Date: Fri, 19 Sep 2003 11:54
38 lines
2840 bytes
<rick@nomail.net> wrote in message
news:3vklmvsj3lsprdrvjrplk7rcknecl8f967@4ax.com...
> > Ik had een vraagje. In een C# project (in het compact .NET framework)
> > vervang ik soms een afbeelding door een andere afbeelding. Ik heb gezien
> > dat sommige mensen dan eerst dit doen:
> >
> > if (image != null)
> > {
> > image.Dispose();
> > image = null;
> > }
> >
> > Is dat nodig? Ik dacht dat C# garbage collection had. Of dient het enkel
> > om C# een "hint" te geven dat dit object verwijderd kan worden?
> >
> > Als het niet nodig is, hoe zit het dan met de complexiteit? Kan ik deze
> > code beter niet gebruiken of maakt het niet zo zeer uit qua
complexiteit?
>
> Bovenstaande code is (alleen) nuttig als je 'image' niet langer meer
> gebruikt. Als je aan 'image' direct een andere afbeelding 'hangt', bv :
>
> image = mijnAndereImage;
>
> dan heeft het geen enkele zin om (eerst) die code uit te voeren,
> dat gebeurt dan al automatisch ('onder water').

zonder veel te kennen van c# denk ik dat het sturen van de Dispose wel nodig
is, of in ieder geval netter is, als je het image object niet meer gaat
gebruiken. Een Image object kan externe resources vasthouden en je weet
nooit zeker wanneer die gaan gereleased worden als je het niet expliciet
doet (garbage collection gebeurt wanneer de run time environment ertoe
beslist, niet wanneer jij het wil). ik heb er geen idee van of de garbage
collector op het moment van memory reclaim ook nog een dispose doet.
misschien wel, maar het is niet netjes van externe resources vast te houden.
en voor hetzelfde geld wordt het stuk geheugen van dat object nooit
gereclaimed.
Technical Details
Message-ID: <3f6aedc8$0$31737$ba620e4c@reader1.news.skynet.be>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-09!supernews.com!newsfeed.news2me.com!skynet.be!skynet.be!louie!tlk!not-for-mail
References: <bkecq3$11sg$1@nl-news.euro.net> <3vklmvsj3lsprdrvjrplk7rcknecl8f967@4ax.com>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit
X-Google-Thread: 107324,99e0602d9fb9d25e
X-Google-Attributes: gid107324,public
X-Google-Thread: fcea4,99e0602d9fb9d25e
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2003-09-19 04:51:39 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-09!supernews.com!newsfeed.news2me.com!skynet.be!skynet.be!louie!tlk!not-for-mail
Reply-To: "Gerrit Cornelis" <gerrit_*remove*cornelis@belgacom.net>
From: "Gerrit Cornelis" <gerrit_*remove*cornelis@belgacom.net>
Newsgroups: nl.comp.programmeren,be.comp.programming
References: <bkecq3$11sg$1@nl-news.euro.net> <3vklmvsj3lsprdrvjrplk7rcknecl8f967@4ax.com>
Subject: Re: C# garbage collector
Date: Fri, 19 Sep 2003 13:54:55 +0200
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
Lines: 41
Message-ID: <3f6aedc8$0$31737$ba620e4c@reader1.news.skynet.be>
Organization: -= Belgacom Usenet Service =-
NNTP-Posting-Host: 194.78.136.107
X-Trace: 1063972296 reader1.news.skynet.be 31737 194.78.136.107:56171
X-Complaints-To: usenet-abuse@skynet.be