C#多線程傳遞參數(shù)及任務用法示例
更新時間:2016年06月12日 09:10:16 作者:smartsmile2012
這篇文章主要介紹了C#多線程傳遞參數(shù)及任務用法,結合簡單實例形式分析了C#多線程的使用及相關的參數(shù)傳遞與任務創(chuàng)建等使用技巧,需要的朋友可以參考下
本文實例講述了C#多線程傳遞參數(shù)及任務用法。分享給大家供大家參考,具體如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; namespace ConsoleSample { class Program { static void Main(string[] args) { Console.WriteLine("這是主線程"); DateTime dtStart = DateTime.Now; for (int i = 0; i < 100; i++) { Student s = new Student(); s.name = "張三" + i; s.sex = "男"; s.age = 28; Thread t = new Thread(ThreadWithParas); t.Start(s); //要給線程傳遞數(shù)據(jù),需某個存儲數(shù)據(jù)的類或結構 } DateTime dtEnd = DateTime.Now; TimeSpan span = (TimeSpan)(dtEnd - dtStart); Console.ReadLine(); Console.WriteLine("運行的時間 " + span.Milliseconds); Console.ReadLine(); } static void ThreadWithParas(object o) { Student s = o as Student; Console.WriteLine("這是分線程" + Thread.CurrentThread.ManagedThreadId + " " + s.name + "---" + s.sex + "---" + s.age); } } public class Student { public string name; public string sex; public int age; } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace ConsoleSample { class Program { static void Main(string[] args) { //任務層次結構 Task parent = new Task(ParentTask); parent.Start(); Thread.Sleep(2000); Console.WriteLine(parent.Status); Thread.Sleep(4000); Console.WriteLine(parent.Status); Console.ReadLine(); } //父任務 static void ParentTask() { Console.WriteLine("task id {0}", Task.CurrentId); Task child = new Task(ChildTask); // , TaskCreationOptions.DetachedFromParent); child.Start(); Thread.Sleep(1000); Console.WriteLine("parent started child"); // Thread.Sleep(3000); } //子任務 static void ChildTask() { Console.WriteLine("child"); Thread.Sleep(5000); Console.WriteLine("child finished"); } } }
更多關于C#相關內(nèi)容感興趣的讀者可查看本站專題:《C#常見控件用法教程》、《WinForm控件用法總結》、《C#數(shù)據(jù)結構與算法教程》、《C#面向對象程序設計入門教程》及《C#程序設計之線程使用技巧總結》
希望本文所述對大家C#程序設計有所幫助。
相關文章
C#實現(xiàn)一個簡單實用的TXT文本操作及日志框架詳解
這篇文章主要給大家介紹了關于利用C#如何實現(xiàn)一個簡單實用的TXT文本操作及日志框架的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們一起來看看吧2018-07-07