GC и делегаты.
От: Аноним  
Дата: 22.02.05 09:39
Оценка:
Есть такой код...

public void SomeMethod()
{
    new Timer(new TimerCallback(Perform), null, someTimeInterval, -1);
}

private void Perform(object state)
{
...
...
...
}


Теперь вопросы:
1. Если GC начнет работать после того как таймер сработал, убъет ли он объект таймера?
2. Если CG начнет работать до того как таймер сработал, убъет ли он объект таймера?
3. Как добиться, чтоб таймер гарантировано сработал, а после этого был убран из памяти GC?
Re: GC и делегаты.
От: TK Лес кывт.рф
Дата: 22.02.05 09:53
Оценка:
>
> Теперь вопросы:
> 1. Если GC начнет работать после того как таймер сработал, убъет ли он объект таймера?

Какая разница? Таймер ведь уже сработал.

> 2. Если CG начнет работать до того как таймер сработал, убъет ли он объект таймера?


Убъет

> 3. Как добиться, чтоб таймер гарантировано сработал, а после этого был убран из памяти GC?


Сохрани ссылку на таймер где-нибудь у себя.
Posted via RSDN NNTP Server 2.0 alpha
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
GC и делегаты.
От: Аноним  
Дата: 22.02.05 10:23
Оценка:
>3. Как добиться, чтоб таймер гарантировано сработал, а после этого был убран из памяти GC?
Сохранить его в strong reference, а затем обнулить.
Sergey Zhiharev,
<a href=http://blogs.gotdotnet.ru/personal/Torero/&gt; Read my blog </a>


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: GC и делегаты.
От: Mika Soukhov Stock#
Дата: 22.02.05 12:17
Оценка:
Здравствуйте, Аноним, Вы писали:

А>>3. Как добиться, чтоб таймер гарантировано сработал, а после этого был убран из памяти GC?

А>Сохранить его в strong reference, а затем обнулить.

Сильную ссылку?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.