Why not use System.Threading.Timer to create your threads?
Then, the execution speed of the code inside each thread won't affect the
actual intervals at which are activated. Naturally, any such timing will be
only relatively accurate. That is, you have to expect some jitter. Five
seconds won't be EXACTLY five seconds and ten seconds won't be EXACTLY ten
seconds. Each may be off by a few mS each time. However, for the purpose
you describe, this should work fine.
Dick
--
Richard Grier (Microsoft Visual Basic MVP)
See
www.hardandsoftware.net for contact information.
Author of Visual Basic Programmer's Guide to Serial Communications, 4th
Edition ISBN 1-890422-28-2 (391 pages) published July 2004. See
www.mabry.com/vbpgser4 to order.