Струва ли си

19 отговора 808 прегледа
#1

Струва ли си

... да се занимавам със очистване на паметта, пишейки на C#?



Отговор
в отговор на Resurrector #2

Re: Струва ли си

очистване
ех руската школа... сега ако можеш и да зададеш въпроса малко по-смислено

Отговор
в отговор на Questor #3

Re: Струва ли си

Ами дали да оставя изтриването на обекти на GC или да ги минавам ръчно.



Отговор
в отговор на Resurrector #4

Re: Струва ли си

е как ша ги 'минеш ръчно' хехе
за тия, дето имплементират IDisposable си длъжен да им викнеш накрая там Close ако има или Dispose... за останалите не знам как ша ги минеш :)

Отговор
в отговор на Resurrector #5

Re: Струва ли си

Основната идея на GC е да спести 'минаването на ръка'.

Хубава статийка (има секция Resurrection :)) - [линк]

Отговор
в отговор на Questor #6

Re: Струва ли си

Да де, аз за диспоуз говорех.



Отговор
в отговор на Resurrector #7

Re: Струва ли си

Ахъм. Трябва си - инчаче не знаеш кога ще ти се затвори файла примерно. ( то в горната статия сигурно пише де)

То това си е даже един от недостатъците на GC - вместо да пишеш delete, блъскаш здраво try / finally / using...

Отговор
в отговор на Resurrector #8

Re: Струва ли си

В отговор на:


Струва ли си да се занимавам със очистване на паметта, пишейки на C#?




Не.

--
Increasing performance by lowering expectations.
Отговор
в отговор на Гypy #9

Re: Струва ли си

Е те тва е! Рече и отсече!

Ние простосмъртните отиваме да продължаваме със свързаните списъци - двойно и тройно.

Отговор
в отговор на Resurrector #10

Re: Струва ли си

Е последно ко да праа



Отговор
в отговор на Resurrector #11

Re: Струва ли си

Double check - ti mahai pak ako zabravish neshto pone mojesh da razchitash che GC moje i da go mahne

Отговор
в отговор на Questor #12

Re: Струва ли си

>>Е те тва е! Рече и отсече!

Понякога трябва да се вземат конкретни решения - трябва ли нещо да се прави или не.

Моето мнение - трябва ли да се занимаваме въобще с паметта в managed code - не. Ако ни се налага или:

а) нещо тъпо сме измислили
б) не е за managed code това, което сме измислили.

Иначе и аз ги умея локумите: "Абе по принцип не трябва, ама в някви ей такива случаи може и да се наложи, ама не точно по този начин де... ама ако това стане... има в С# едни възможности за unsafe (not managed) code". Въпросът е че това не води до конректно решение - а решения трябва да се вземат.

--
Increasing performance by lowering expectations.
Отговор
в отговор на Гypy #13

Re: Струва ли си

Ако обема на паметта не ти е проблем (да се разбира: имаш 512-1024МБ РАМ) не се занимавай със зачистване на обектите.

Обаче! както винаги има и такова нещо.....
Сблъсквал съм се с моменти когато трябва ръчно да освобождаваш паметта поради простата причина че не достига :( (PocketPC със 32МБ Рам)


~~~~~~~
In this world of a million religions everyone prays the same way!
Отговор
в отговор на Resurrector #14

Re: Струва ли си

Как пък един не забеляза, че IDisposable е за детерминистично почистване и освобождаване на ресурси и няма почти нищо общо с управлението на паметта. Може би твърде много хора пишат на C++ в C#.

--
Екстремно програмиране на български.
[линк]
Отговор
в отговор на Дeшeв #15

Re: Струва ли си

Точно така!

IDisposable defines a method to release allocated unmanaged resources.

Затова е добра идея да се исвиква този метод за обектите които го дефинират: GDI обекти, файлове, сокети и т.н.
Има една конструкция в C# - using, която доста улеснява това почистване.

Отговор
в отговор на Дeшeв #16

Re: Струва ли си

IDisposable е за детерминистично почистване и освобождаване на ресурси

Хех - да - точно тези думи не съм употребил...

А да беше прочел, че Ресъректора питал точно за IDisposable...?

(Това е за Гуру-то) После що разправям, че форумът бил тъп - на един въпрос се събират около 10 отговора и 20 коментара кой отговор от кой е по-тъп.... а да не говорим, че Радо постна линк към статия още в началото....)

Отговор
в отговор на Гypy #17

Re: Струва ли си

При условие, че Ресъректора вече написа, че го интересува Dispose, и Радо вече прати линк към статия, а аз допуснах, че става дума за IDisposable, не виждам какво му е конкретното на твоето решение...

Отговор
в отговор на Questor #18

Re: Струва ли си

Допуснах, помислих... Все едно - ние от де да знаем? ;-)


В автобуса се качва някакъв циганин и без да иска настъпва някакъв военен. Военния седял, седял и праснал един на циганина. От близката седалка скочил още някакъв и той праснал циганина... Станал бой и ги завели в полицията. Там ги разпитват:
Циганина - Качих се аз в автобуса и по едно време военния ме удари, а после и другия ме удари и стана бой...
Военния - Седя си в автобуса и някакъв циганин ми стъпи на крака. Помислих си (допуснах) че ако не се махне до една минута ще му ударя един...
Третия побойник - Седя си в автобуса и някакъв циганин се качи. Гледам военния до него си гледа часовника, гледа циганина, гледа часовника и после му удари един... Помислих, че някаква акция е почнала и скочих да помагам...

Powered by telerik fuel. Sometimes by vodka.
Отговор
в отговор на Val® #19

Re: Струва ли си

за тия, дето имплементират IDisposable си длъжен да им викнеш накрая там Close ако има или Dispose... за останалите не знам как ша ги минеш :)


ми па вижти на предишнъта страница уааа братчед....

Отговор
в отговор на Questor #20

Re: Струва ли си

В отговор на:

А да беше прочел, че Ресъректора питал точно за IDisposable...?



Обикновено не бързам да поствам преди да съм видял цялата тема. Така направих и в случая. Просто отговорих най-отгоре, защото коментара ми засягаше и отговарящите.

И не е тъп форума... Той си е такъв какъвто си го направим. Обещавам да не се хващам на flamebaits като този друг път.

--
Екстремно програмиране на български.
[линк]
Отговор