新增线程,进行异步处理数据

private Timer _timer;
private void StartUpdateTime()
{
if (_timer == null)
{
_timer = new Timer();
_timer.Interval = 2000;
_timer.Tick += new EventHandler(_timer_Tick);
}
_timer.Enabled = true;
}

void _timer_Tick(object sender, EventArgs e)
{
UpdateDataList();
}

private System.Threading.Thread invokeThread;
//更新数据
private void UpdateDataList()
{
invokeThread = new System.Threading.Thread(new System.Threading.ThreadStart(StartMethod));

invokeThread.Start();
}

private void StartMethod()
{
if (this.InvokeRequired)
{
MethodInvoker handle = new MethodInvoker(StartMethod);
this.BeginInvoke(handle);
}
else
{
//数据处理
//for (int j = 0; j < lv.Items.Count; j++)
//{
// Common.Device dev = (Common.Device)lv.Items[j].Tag;

// if (dev.Online)
// {
// for (int i = 0; i < 256; i++)
// {

// lv.Items[j].SubItems[i + 3].Text = dev.MineInfo.nContex == null ? "0" : dev.MineInfo.nContex[i].ToString();
// }

// SetColor(j, _clrNormalBack, _clrOnline);
// }
// else
// {
// SetColor(j, _clrNormalBack, _clrOffline);
// }
//}
}

}

posted @ 2014-04-25 14:34  MR_JOR  阅读(237)  评论(0编辑  收藏  举报