麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

C#中線程的用法

2019-11-14 13:39:43
字體:
來源:轉載
供稿:網友

通過委托的方式創建線程


 

static int sum(int x)

{

return x+x;

{

Func<int> a = sum;

創建一個新的線程格式:a.BeginInvoke(10);

獲取一個線程的返回值:IAsyncResult ar = a.BeginInvoke(10,null,null);  

  //第二種方法 IAsyncResult ar = a.BeginInvoke(10,OnCallback,a);

  //第三種方法,使用lanmba表達式,例如:

    /* IAsyncResult ar = */ a.BeginInvoke(10,ar=>

    {

      int res = a.EndInvoke(ar);

      Console.WriteLine(res);

    },null)

  第一個null參數代表回調函數,例如:

    static void OnCallback(IAsyncResult ar)

    {

      第二個null參數是回調函數傳遞的數據,例如:

      Func<int> a = ar.AsyncState as Func<int>;  // 把ar.AsyncState類型轉換為Func<int>類型的對象

    }

獲取線程返回值的狀態:ar.IsCompleted的返回值true為線程結束,false為線程還未結束。

獲取線程的執行的結果:int res = a.EndInvoke(ar);

 


用Thread創建線程

創建線程:Thread t = new Thread(Function);  // Function為需要啟動一個新的線程來執行的函數

啟動線程:t.Start();  // 如果Function有參數(必須是Object類型),則Function的參數由Start函數來傳遞

獲取線程ID:Thread.CurrentThread.ManagedThreadId

 

也可以自己寫一個類,例如:

class MyThread

{

  PRivate string fileName;

  private string filePath;

  public MyThread(string filename,string filepath)

  {

    this.fileName = filename;

    this.filePath   = filepath;

  }

  public void DownFile(string filename,string filepath)

  {

    Console.WriteLine("正在下載:"+filepath+filename);

    ......

    Console.WriteLine("下載完成");

  }

}

在program中調用

MyThread myt = new MyThread("filename","filepath");

Thread t = new Thread(myt.Down);

t.Start();

設置后臺線程的方法,例如:t.IsBackground = true;

線程分為前臺線程與后臺線程,后臺線程會伴隨著前臺線程的結束而被強制結束

強制終止一個線程:t.Abort();

優先執行的線程:t.Join();  // 暫停當前程序,先執行t.Join()然后再執行當前未執行完的線程

 

C#中的線程池

C#中已經封裝好了一個線程池ThreadPool,在雙核的條件下默認1023個工作線程,和1000個I/O線程。所有線程為后臺線程

調用線程池的方法:ThreadPool.QueueUserWorkItem(Function);  // Function為自定義函數,這個函數要有一個object類型的一個參數

 像一個正在運行的線程加鎖的用法:lock(加鎖的對象);

 

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久影片| 国产精品久久久久久久久久 | 涩涩激情网 | 成人毛片100部免费观看 | 成年人小视频在线观看 | 黄色大片www| 91精品国产91热久久久做人人 | 国产羞羞视频在线观看 | 午夜精品在线视频 | 九九热免费视频在线观看 | 成人在线97 | 日本在线一区二区 | 午夜国产成人 | 日韩字幕| 久久国产成人午夜av浪潮 | 国产在线看一区 | 黄色美女免费 | av免费在线观 | 黄网站免费观看视频 | 国产精品久久久久国产精品三级 | 欧美日韩视频第一页 | 大学生一级毛片在线视频 | 欧产日产国产精品v | 黄色片在线观看网站 | 他也色在线视频 | 202z中文字幕第一页 | 欧美视频一区二区 | 欧美日韩网站在线观看 | 久久精品一区视频 | 欧美14一15sex性hd | 福利在线免费视频 | 91福利在线观看 | 97超级碰碰人国产在线观看 | www.91操| 久久久久久艹 | 亚洲亚色| av老司机久久 | 国产流白浆高潮在线观看 | 免费观看黄色一级视频 | 午夜影视一区二区 | 一级毛片播放 |