c# 多线程传递参数以及任务

CSDN学院讲师招募Markdown编辑器 轻松写博文学院课程好不好你说了算!读文章说感想 获好礼企业高端研修班培训直通车

c# 多线程传递参数以及任务

分类:Asp.net

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");}}}

上一篇获取报告 Stream转string,,利用字符串分割转换成DataTable下一篇winwebmail设置能用foxmail收发邮件

顶1踩0

主题推荐猜你在找

查看评论

* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

核心技术类目

任何业绩的质变都来自于量变的积累。

c# 多线程传递参数以及任务

相关文章:

你感兴趣的文章:

标签云: