首先把文件源码放出来
文件源码
如下是代码,这里面有两个线程,里面各有一个死循环,第一个线程是用来循环保持连接,第二循环是监听任务并执行任务,运行后的结果是,有时候点击会出现未响应,然后过个几秒恢复,我考虑过是Thread.sleep的原因,于是我用Delay()替代了sleep,但是好像没有什么作用,所以请各位帮忙看看
public static void Delay(int mm)
{
DateTime current = DateTime.Now;
while (current.AddMilliseconds(mm) > DateTime.Now)
{
Application.DoEvents();
}
return;
}
//创建一个任务,循环保持连接
Thread stock = new Thread(KeepStockStatus);
stock.Start();
//开始运行
Thread thread = new Thread(new ThreadStart(() =>
{
while (IsRunning)
{
Delay(1000);
//Thread.Sleep(TimeSpan.FromSeconds(1)); //等待1秒钟
int x=monitorStatus();
if (x == STATUS_WORK)
{
//Thread.Sleep(120);
//KeepStockStatus();
Delay(200);
//Thread.Sleep(200);
InRequest();
Delay(100);
//Thread.Sleep(100);
OutRequest();
}
}
}));
thread.IsBackground = true;
thread.Start();