[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

microsoft.public.dotnet.framework

Timers - Which to choose?

Chris Marsh

7/23/2008 9:11:00 AM

All

I have a MonitorClient class, which will control a number of monitor classes
implementing an IMonitor interface. These monitor classes will monitor
various different things on a server. Each monitor class will have a
differently timed cycle on which to perform its probing.

My question is: which Timer class woudl it be better to use within the
monitor classes - System.Threading.Timer, or System.Timers.Timer? I've read
up on both, but cannot really see which suits my requirements better. Both
seem to use a new worker thread from the CLR thread pool on which to raise
their events, so I cannot immediately see a benefit to using one or the other
for my particular scenario.

Any advice very much appreciated.

Cheers!

--
Regards

Chris Marsh
6 Answers

Pavel Minaev

7/23/2008 9:46:00 AM

0

On Jul 23, 1:11 pm, Chris Marsh <ChrisMa...@discussions.microsoft.com>
wrote:
> All
>
> I have a MonitorClient class, which will control a number of monitor classes
> implementing an IMonitor interface. These monitor classes will monitor
> various different things on a server. Each monitor class will have a
> differently timed cycle on which to perform its probing.
>
> My question is: which Timer class woudl it be better to use within the
> monitor classes - System.Threading.Timer, or System.Timers.Timer? I've read
> up on both, but cannot really see which suits my requirements better. Both
> seem to use a new worker thread from the CLR thread pool on which to raise
> their events, so I cannot immediately see a benefit to using one or the other
> for my particular scenario.

The only difference between the two I'm aware of is that Timers.Timer
is a component (and thus can be manupulated with the visual designer),
and that it has SynchronizationObject property. The latter technically
allows it to raise events on some specific thread, rather than on a
new threadpool thread. If you do not need either of those, then you'll
probably want to stick with Threading.Timer.

Chris Marsh

7/23/2008 11:03:00 AM

0

Pavel

[..]

"Pavel Minaev" wrote:
> The only difference between the two I'm aware of is that Timers.Timer
> is a component (and thus can be manupulated with the visual designer),
> and that it has SynchronizationObject property. The latter technically
> allows it to raise events on some specific thread, rather than on a
> new threadpool thread. If you do not need either of those, then you'll
> probably want to stick with Threading.Timer.

Thanks a lot for the information - I'll stick with System.Timers.Timer in
that case.

Cheers!

--
Regards

Chris Marsh

sloan

7/23/2008 2:58:00 PM

0

Comparing the Timer Classes in the .NET Framework Class Library
http://msdn.microsoft.com/en-us/magazine/cc1...

Perhaps this will help you pick one.





"Chris Marsh" <ChrisMarsh@discussions.microsoft.com> wrote in message
news:57611B58-88A1-46FD-8F2E-15B5AD173124@microsoft.com...
> All
>
> I have a MonitorClient class, which will control a number of monitor
> classes
> implementing an IMonitor interface. These monitor classes will monitor
> various different things on a server. Each monitor class will have a
> differently timed cycle on which to perform its probing.
>
> My question is: which Timer class woudl it be better to use within the
> monitor classes - System.Threading.Timer, or System.Timers.Timer? I've
> read
> up on both, but cannot really see which suits my requirements better. Both
> seem to use a new worker thread from the CLR thread pool on which to raise
> their events, so I cannot immediately see a benefit to using one or the
> other
> for my particular scenario.
>
> Any advice very much appreciated.
>
> Cheers!
>
> --
> Regards
>
> Chris Marsh


Chris Marsh

7/23/2008 5:13:00 PM

0

sloan

Many thanks for the link - I'll follow up on it this evening.

Cheers!

--
Regards

Chris Marsh

"sloan" wrote:

> Comparing the Timer Classes in the .NET Framework Class Library
> http://msdn.microsoft.com/en-us/magazine/cc1...
>
> Perhaps this will help you pick one.
>
>
>
>
>
> "Chris Marsh" <ChrisMarsh@discussions.microsoft.com> wrote in message
> news:57611B58-88A1-46FD-8F2E-15B5AD173124@microsoft.com...
> > All
> >
> > I have a MonitorClient class, which will control a number of monitor
> > classes
> > implementing an IMonitor interface. These monitor classes will monitor
> > various different things on a server. Each monitor class will have a
> > differently timed cycle on which to perform its probing.
> >
> > My question is: which Timer class woudl it be better to use within the
> > monitor classes - System.Threading.Timer, or System.Timers.Timer? I've
> > read
> > up on both, but cannot really see which suits my requirements better. Both
> > seem to use a new worker thread from the CLR thread pool on which to raise
> > their events, so I cannot immediately see a benefit to using one or the
> > other
> > for my particular scenario.
> >
> > Any advice very much appreciated.
> >
> > Cheers!
> >
> > --
> > Regards
> >
> > Chris Marsh
>
>
>

sloan

7/25/2008 3:50:00 PM

0

Another broken promise ::::::::::::sigh:::::::::::::::::::

Whoah is me :(

...

Just joking, hope you got it worked out.




"Chris Marsh" <ChrisMarsh@discussions.microsoft.com> wrote in message
news:B96422D5-6A41-496F-9B65-FC3B0D0A5EC1@microsoft.com...
> sloan
>
> Many thanks for the link - I'll follow up on it this evening.
>
> Cheers!
>
> --
> Regards
>
> Chris Marsh
>
> "sloan" wrote:
>
>> Comparing the Timer Classes in the .NET Framework Class Library
>> http://msdn.microsoft.com/en-us/magazine/cc1...
>>
>> Perhaps this will help you pick one.
>>
>>
>>
>>
>>
>> "Chris Marsh" <ChrisMarsh@discussions.microsoft.com> wrote in message
>> news:57611B58-88A1-46FD-8F2E-15B5AD173124@microsoft.com...
>> > All
>> >
>> > I have a MonitorClient class, which will control a number of monitor
>> > classes
>> > implementing an IMonitor interface. These monitor classes will monitor
>> > various different things on a server. Each monitor class will have a
>> > differently timed cycle on which to perform its probing.
>> >
>> > My question is: which Timer class woudl it be better to use within the
>> > monitor classes - System.Threading.Timer, or System.Timers.Timer? I've
>> > read
>> > up on both, but cannot really see which suits my requirements better.
>> > Both
>> > seem to use a new worker thread from the CLR thread pool on which to
>> > raise
>> > their events, so I cannot immediately see a benefit to using one or the
>> > other
>> > for my particular scenario.
>> >
>> > Any advice very much appreciated.
>> >
>> > Cheers!
>> >
>> > --
>> > Regards
>> >
>> > Chris Marsh
>>
>>
>>


Chris Marsh

7/29/2008 10:49:00 AM

0

sloan

"sloan" wrote:

> Another broken promise ::::::::::::sigh:::::::::::::::::::
>
> Whoah is me :(

Not at all, I really appreciate you taking the time to identify resources
for me.

> Just joking, hope you got it worked out.

I did, thank you. I used System.Timers.Timer on the grounds that I could
find no reason *not* to, and although System.Threading.Timers looked more
interesting I could not justify the work time to figure out how it worked :-)
One for the weekend, methinks...

Thanks again!

--
Regards

Chris Marsh