Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7000001
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T20:36:53+00:00 2026-05-27T20:36:53+00:00

I have some code where the timer EventHandler has this void timer_Tick(object sender, EventArgs

  • 0

I have some code where the timer EventHandler has this

void timer_Tick(object sender, EventArgs e)
{
    try
    {
         timerRescan.Stop();
         ScanForIeInstances()
    }
    catch (Exception ex)
    {
         log.Warn("Exception 3", ex);
    }
    finally
    {
        timerRescan.Start();
    }
}

Naturally there is a race condition with an external entity who may want to Stop the timer down….if the timer is in process and using a thread and someone calls timerRescan.Stop, the timer thread will call Start starting the timer back up again. I am trying to replace this code. There are two methods in java I know and I would like to know how to do both in C#

  1. Run a task every 5 seconds where 5 seconds is the distance between tasks firing
  2. Run a task and AFTER it ends+5seconds run the task again

I would like to use #2 and always fire 5 seconds from the END of the last firing of the event. How do I do that and which timer do I use in C# for that?

This then allows me to have a recurring timer, call start once and have no race condition with the stop(I would rather not have to implement synchronization though I know I could do that as a last resort…would rather just keep the code clean like I can in java)

OR IF you know java, what I am simply looking for is the equivalent of
ScheduledExecutorService.scheduleAtFixedRate – start to start
ScheduledExecutorService.scheduleWithFixedDelay – end to start

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-27T20:36:54+00:00Added an answer on May 27, 2026 at 8:36 pm

    A quick way to handle this is to have the external entity set a flag, and then check to see whether that flag has been set:

    public bool StopRequested {get; set;}
    
    void timer_Tick(object sender, EventArgs e)
    {
        if (timerRescan != null) timerRescan.Stop();
        if (StopRequested) return;
        try
        {
             ScanForIeInstances()
        }
        catch (Exception ex)
        {
             log.Warn("Exception 3", ex);
        }
        finally
        {
            timerRescan.Start();
        }
    }
    

    This doesn’t solve the problem if the external entity has a handle on the timer, but the timer should probably be private anyway.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have some code that will be accessed from two threads: class Timer{ public:
I have some code like this in a winforms app I was writing to
I have some code like this: If key.Equals(search, StringComparison.OrdinalIgnoreCase) Then DoSomething() End If I
I have some records like this: ID Personel_Code Time --- ------------- ------ 1 0011
I have found some code on measuring execution time here http://www.dreamincode.net/forums/index.php?showtopic=24685 However, it does
I have some code for starting a thread on the .NET CF 2.0: ThreadStart
I have some code which collects points (consed integers) from a loop which looks
I have some code in a javascript file that needs to send queries back
I have some code that gives a user id to a utility that then
I have some code in an IAuthorizationFilter which redirects the user to a login

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.