C#每隔几秒执行一次后台线程(计划)
我刚开始学习C#,我是一名Java程序员。在Java中,我可以执行以下操作:C#每隔几秒执行一次后台线程(计划),c#,multithreading,threadpool,C#,Multithreading,Threadpool,我刚开始学习C#,我是一名Java程序员。在Java中,我可以执行以下操作: int corePoolSize = 1; long initialDelay = 0;//0 seconds long delay = 60;//60 seconds ScheduledThreadPoolExecutor stpe = new ScheduledThreadPoolExecutor(corePoolSize); stpe.scheduleWithFixedDe
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);
它将每隔60秒在后台线程中执行可运行的“MyDemoClass”
在C#中,我将如何执行此操作?我看过它的线程池,但它似乎不是我要找的
非常感谢与间隔
一起使用,该间隔连接到执行所需周期逻辑的事件处理程序
计时器组件是一个基于服务器的计时器,它允许您
指定在中引发已用事件的重复间隔
你的申请。然后,您可以处理此事件以提供定期
处理。例如,假设您有一个必须
一周7天,每天24小时持续运行。你可以创建一个
使用计时器定期检查服务器并确保
系统已启动并正在运行。如果系统没有响应,
该服务可能会尝试重新启动服务器或通知
管理员
您不需要线程池来完成此任务。我认为您正在寻找System.Threading.Timer
使用TimerCallback委托指定要计时器执行的方法。计时器委托是在构造计时器时指定的,不能更改。该方法不会在创建计时器的线程上执行,而是在系统提供的线程池线程上执行
看看或者谢谢你,史蒂夫。这似乎就是我要寻找的,我会尝试一下。如果你最终自己使用线程,尝试使用任务并行库
,而不是使用系统.线程
原语的定制结构-这在某种程度上反映了建议,让你更喜欢java.util.concurrent
。非常感谢你的提示