手机
当前位置:查字典教程网 >编程开发 >C#教程 >C#多线程传递参数及任务用法示例
C#多线程传递参数及任务用法示例
摘要:本文实例讲述了C#多线程传递参数及任务用法。分享给大家供大家参考,具体如下:usingSystem;usingSystem.Collecti...

本文实例讲述了C#多线程传递参数及任务用法。分享给大家供大家参考,具体如下:

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); //要给线程传递数据,需某个存储数据的类或结构 } 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#程序设计有所帮助。

【C#多线程传递参数及任务用法示例】相关文章:

C#中读写INI文件的方法例子

深入C# 内存管理以及优化的方法详解

C#中实现任意List的全组合算法代码

异步/多线程/任务/并行编程之一:如何选择合适的多线程模型?

C# 多线程读取注册表,加载至TreeView

C# 获取程序集版本、文件版本

c#.net多线程编程教学——线程同步

c#汉诺塔的递归算法与解析

C#获取进程的主窗口句柄的实现方法

C#中按引用传递与按值传递的区别,以及ref与out关键字的用法详解

精品推荐
分类导航