程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> c#的多線程

c#的多線程

編輯:C#入門知識

多線程的使用方法:

Thread t = new Thread(new ThreadStart (StartMethod));
t.Start();
 
  private void StartMethod()
  {
      Thread.Sleep(5000);
            MessageBox.Show("c");
  }

  

多線程的功能和異步調用一樣,都是為了不等調用的函數運行完,就繼續剩下的語句。

ParameterizedThreadStart是面向帶參數的方法,參數的類型是object。StartMethod()是不帶參數的方法。StartMethod(object i)就是帶參數的方法,這個誰都知道哈~

t.IsBackground = true;

  

這句代碼的意思就是等主程序跑完,如果支線程的代碼還沒跑完,那就不好意思啦,直接掐屎。。

這個時候腫麼辦呢,人家還不想這麼早跟這個世界說寨見呢。。。

只要在主程序的最後加上 t.Join();就可以啦~。

為什麼要使用this.invoke呢,感覺它跟直接調用函數沒什麼差別,但是如果要在支線程的函數中給控件賦值,代碼就會報錯,這個時候this.invoke,this.begininvoke都就可以拿來用了,這樣就不會報錯了。

 

public void DoWork()
{
MyInvoke mi = new MyInvoke(Updatetxt);
this.BeginInvoke(mi, new Object[] {"我是文本框"});
}
public void Updatetxt(string param)
{
textBox1.Text = param;
}

  

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved