欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#開(kāi)啟線程的四種方式示例詳解

 更新時(shí)間:2018年10月25日 16:03:29   作者:本人菜鳥(niǎo)一枚  
今天小編就為大家分享一篇關(guān)于C#開(kāi)啟線程的四種方式示例詳解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧

一、異步委托開(kāi)啟線程

 public static void Main(string[] args){
  Action<int,int> a=add;
  a.BeginInvoke(3,4,null,null);//前兩個(gè)是add方法的參數(shù),后兩個(gè)可以為空
  Console.WriteLine("main()");
  Console.ReadKey();
 }
 static void add(int a,int b){
  Console.WriteLine(a+b);
 }

運(yùn)行結(jié)果:

如果不是開(kāi)啟線程,像平常一樣調(diào)用的話,應(yīng)該先輸出7,再輸出main()

二、通過(guò)thread類(lèi)開(kāi)啟線程

    using System;
        using System.Threading;
         public static void Main(string[] args){
  Thread t=new Thread(DownLoadFile_My);//創(chuàng)建了線程還未開(kāi)啟
  t.Start("http://abc/def/**.mp4");//用來(lái)給函數(shù)傳遞參數(shù),開(kāi)啟線程
  Console.WriteLine("main()");
  Console.ReadKey();
 }
 //thread開(kāi)啟線程要求:該方法參數(shù)只能有一個(gè),且是object類(lèi)型
 static void DownLoadFile_My(object filePath){
  Console.WriteLine("開(kāi)始下載:"+filePath);
  Thread.Sleep(2000);
  Console.WriteLine("下載完成!");
 }

運(yùn)行結(jié)果:

三、通過(guò)線程池開(kāi)啟線程

 public static void Main(string[] args){
  ThreadPool.QueueUserWorkItem(DownLoadFile_My);
  ThreadPool.QueueUserWorkItem(DownLoadFile_My);
  ThreadPool.QueueUserWorkItem(DownLoadFile_My);
  ThreadPool.QueueUserWorkItem(DownLoadFile_My);
  ThreadPool.QueueUserWorkItem(DownLoadFile_My);
  ThreadPool.QueueUserWorkItem(DownLoadFile_My);
  ThreadPool.QueueUserWorkItem(DownLoadFile_My);
  ThreadPool.QueueUserWorkItem(DownLoadFile_My);
  ThreadPool.QueueUserWorkItem(DownLoadFile_My);
  Console.WriteLine("main()");
  Console.ReadKey();
 }
 static void DownLoadFile_My(object state){
  Console.WriteLine("開(kāi)始下載...  線程ID:"+Thread.CurrentThread.ManagedThreadId);
  Thread.Sleep(2000);
  Console.WriteLine("下載完成!");
 }

運(yùn)行結(jié)果:

4、通過(guò)任務(wù)開(kāi)啟線程

1>Task開(kāi)啟線程

using System;
using System.Threading;
using System.Threading.Tasks;
 public static void Main(string[] args){
  Task t=new Task(DownLoadFile_My);
  t.Start();
  Console.WriteLine("main()");
  Console.ReadKey();
 }
 static void DownLoadFile_My( ){
  Console.WriteLine("開(kāi)始下載...  線程ID:"+Thread.CurrentThread.ManagedThreadId);
  Thread.Sleep(2000);
  Console.WriteLine("下載完成!");
 }

運(yùn)行結(jié)果:

2>TaskFactory開(kāi)啟線程

 public static void Main(string[] args){
  TaskFactory tf=new TaskFactory();
  tf.StartNew(DownLoadFile_My);
  Console.WriteLine("main()");
  Console.ReadKey();
 }
 static void DownLoadFile_My( ){
  Console.WriteLine("開(kāi)始下載...  線程ID:"+Thread.CurrentThread.ManagedThreadId);
  Thread.Sleep(2000);
  Console.WriteLine("下載完成!");
 }

運(yùn)行結(jié)果:

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

  • C# 中 System.Index 結(jié)構(gòu)體和 Hat 運(yùn)算符(^)的使用示例

    C# 中 System.Index 結(jié)構(gòu)體和 Hat 運(yùn)算符(^)的使用示例

    這篇文章主要介紹了C# 中 System.Index 結(jié)構(gòu)體和 Hat 運(yùn)算符(^)的使用示例,幫助大家更好的理解和使用C#,感興趣的朋友可以了解下
    2020-09-09
  • C#連接SQL Server的實(shí)現(xiàn)方法

    C#連接SQL Server的實(shí)現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于C#連接SQL Server的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • C# 實(shí)現(xiàn)PPT 每一頁(yè)轉(zhuǎn)成圖片過(guò)程解析

    C# 實(shí)現(xiàn)PPT 每一頁(yè)轉(zhuǎn)成圖片過(guò)程解析

    這篇文章主要介紹了C# 實(shí)現(xiàn)PPT 每一頁(yè)轉(zhuǎn)成圖片過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • C# Winform截圖指定控件范圍內(nèi)的圖像的流程步驟

    C# Winform截圖指定控件范圍內(nèi)的圖像的流程步驟

    工作所需,需要截圖軟件跑出來(lái)的界面上的圖表,但是窗口本身是可以縮放的,圖表也是做的可以跟著窗體大小一起縮放,所以就寫(xiě)了一個(gè)函數(shù),用于截圖圖表容器內(nèi)的圖像,文中有函數(shù)源碼供大家參考,需要的朋友可以參考下
    2024-10-10
  • C#?BitArray(點(diǎn)矩陣)轉(zhuǎn)換成int和string的方法實(shí)現(xiàn)

    C#?BitArray(點(diǎn)矩陣)轉(zhuǎn)換成int和string的方法實(shí)現(xiàn)

    BitArray?類(lèi)管理一個(gè)緊湊型的位值數(shù)組,它使用布爾值來(lái)表示,本文主要介紹了C#?BitArray(點(diǎn)矩陣)轉(zhuǎn)換成int和string的方法實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2022-05-05
  • C#裝箱與拆箱操作的深入講解

    C#裝箱與拆箱操作的深入講解

    這篇文章主要給大家介紹了關(guān)于C#裝箱與拆箱操作的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用C#具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 深入了解c# 迭代器和列舉器

    深入了解c# 迭代器和列舉器

    這篇文章主要介紹了c# 迭代器和列舉器的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)C#,感興趣的朋友可以了解下
    2020-08-08
  • WPF實(shí)現(xiàn)輪播圖效果(圖片、視屏)

    WPF實(shí)現(xiàn)輪播圖效果(圖片、視屏)

    這篇文章主要介紹了WPF實(shí)現(xiàn)輪播圖效果,以下是一個(gè)使用WPF技術(shù)實(shí)現(xiàn)圖片和視屏輪播的簡(jiǎn)單案例代碼示例,文中有詳細(xì)的代碼示例,具有一定的參考價(jià)值,感興趣的小伙伴可以自己動(dòng)手試試
    2023-10-10
  • C#實(shí)現(xiàn)加密的幾種方法介紹

    C#實(shí)現(xiàn)加密的幾種方法介紹

    這篇文章介紹了C#實(shí)現(xiàn)加密的幾種方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • c#通過(guò)xpath讀取xml示例

    c#通過(guò)xpath讀取xml示例

    這篇文章主要介紹了c#通過(guò)xpath讀取xml示例,需要的朋友可以參考下
    2014-04-04

最新評(píng)論