![](/img/trans.png)
[英]BackgroundWorker: Does every method called from the DoWorkEventHandler run in the background thread?
[英]Run method on background thread every x seconds
我有个问题。 我想在后台线程上每3秒运行一个方法。 我已经有了这个代码:
Timer Order_Timer = new Timer();
Order_Timer.Interval = 3000;
Order_Timer.Elapsed += LoadOrders;
Order_Timer.Enabled = true;
用这种方法:
public void LoadOrders(object sender, ElapsedEventArgs e)
{
//My code
}
UPDATE
我已经尝试过了:
Timer Order_Timer = new Timer();
Order_Timer.Interval = 3000;
Order_Timer.Elapsed += ThreadPool.QueueUserWorkItem (o => LoadOrders(null, null));
Order_Timer.Enabled = true;
但是这给出了错误:
'Timer'是'System.Timers.Timer'和'System.Threading.Timer'之间的模糊引用
如何在后台线程上运行它?
AWNSER
我已经找到了:
System.Threading.Timer Order_Timer = new System.Threading.Timer(new TimerCallback(LoadOrders), null, 2000, 3000);
用方法:
public void LoadOrders(object state)
{
我已经找到了:
System.Threading.Timer Order_Timer = new System.Threading.Timer(new TimerCallback(LoadOrders), null, 2000, 3000);
用方法:
public void LoadOrders(object state)
{
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.