日期:2014-05-18  浏览次数:20805 次

请教多线程的用法
以下是我的C#程序中用子线程显示LED屏幕信息的代码片段:

thread_LED = new Thread(new ThreadStart(showLEDMsg)); //创建一个线程
thread_LED.Start(); //启动当前线程

private void showLEDMsg()
{
  this.Invoke(new delegate_LED(showLED));
}

private void showLED()
{
  string msg = "XXXX管理系统";
  string msg1 = "正在处理请等候";
  showLEDMsg(0, msg, ""); //LED屏显示信息

  thread_LED.Abort(); //关闭线程
}

最后一个函数是让LED屏幕显示文本信息的,其中有msg和msg1两个文本字符串。如果想设置当满足某个条件时显示msg,不满足时就显示msg1的话,应该如何修改程序?谢谢!


------解决方案--------------------
用支持参数的那个线程重载
C# code

private void showLED(Object state)
{
  
  string msg = "XXXX管理系统";
  string msg1 = "正在处理请等候";
  //根据state判断
  showLEDMsg(0, msg, ""); //LED屏显示信息

  thread_LED.Abort(); //关闭线程
}

------解决方案--------------------
同1楼,线程传递参数