c#每秒钟执行一个后台线程(预定的)



我刚开始学习c#,我是一个Java程序员。在Java中,我能够做以下事情:

    int corePoolSize = 1;
    long initialDelay = 0;//0 seconds
    long delay = 60;//60 seconds
    ScheduledThreadPoolExecutor stpe = new ScheduledThreadPoolExecutor(corePoolSize);
    stpe.scheduleWithFixedDelay(new MyDemoClass(), initialDelay, delay, TimeUnit.SECONDS);

将执行可运行的"MyDemoClass"每60秒一个后台线程

我如何在c#中做到这一点?我已经看了它的ThreadPool http://msdn.microsoft.com/en-us/library/3dasc8as(v=vs.80).aspx,但它似乎不是我要找的。

非常感谢

使用System.Timers.Timer与Interval连接到Elapsed事件处理程序,执行所需的周期性逻辑。

Timer组件是一个基于服务器的计时器,它允许您指定一个循环间隔,在该间隔中引发Elapsed事件您的应用程序。然后,您可以处理此事件以提供常规处理。例如,假设您有一个关键服务器,它必须他每周7天,每天24小时不停地工作。你可以创建一个使用定时器定时对服务器进行检查,确保服务器正常运行系统已经启动并运行了。如果系统没有响应,该服务可能会尝试重新启动服务器或通知管理员。

我想你找的是System.Threading.Timer
http://msdn.microsoft.com/en-us/library/system.threading.timer.aspx

"使用TimerCallback委托来指定你想让Timer执行的方法。计时器委托是在构造计时器时指定的,不能更改。该方法不在创建计时器的线程上执行;它在系统提供的ThreadPool线程上执行。"

相关内容

  • 没有找到相关文章

最新更新