关于线程的参数、“返回值”、及线程的中止,关于线程的参数、“返回值”、及线程的中止
【 tulaoshi.com - ASP.NET 】
关于线程的参数(2.0)、“返回值”、及线程的中止
1.线程的参数:
有时候会想向辅助线程传递些信息,这里需要用到ParameterizedThreadStart 委托
示例:
private void btRunThread_Click(object sender, EventArgs e)
{
Thread t = new Thread(new ParameterizedThreadStart(this.ThreadRun));
t.Start(100);
}
private void ThreadRun(object o)
{
this.lbCompleted.Invoke((MethodInvoker)delegate { this.lbCompleted.Text = System.Convert.ToString(o); });
}
2.通过代理可以大致实现类似功能,示例:
class Program
{
static void Main(string[] args)
{
ThreadClass tc = new ThreadClass(new MyDlg(DlgMethod));
Thread thread = new Thread(new ThreadStart(tc.ThreadRun));
Console.WriteLine("second thread start");
thread.Start();
thread.Join();
Console.WriteLine("second thread completed");
Console.Read();
}
private static void DlgMethod(int i)
{
Console.WriteLine("Second Thread Result:{0}", i);
}
}
public delegate void MyDlg(int i);
class ThreadClass
{
private MyDlg myDlg;
public ThreadClass(MyDlg pDlg)
{
this.myDlg = pDlg;
}
public void ThreadRun()
{
int total = 0;
for (int i = 0; i < 100; i++)[next]
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com){
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)total += i;
}
if (myDlg != null)
{
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)myDlg(total);
}
}
来源:http://www.tulaoshi.com/n/20160129/1486270.html
看过《关于线程的参数、“返回值”、及线程的中止》的人还看了以下文章 更多>>