c#创建线程
2017-02-10 15:56
190 查看
创建多参数的线程时,将方法要用到的参数及方法本身封装到一个类中,利用有参构造方法将参数的值传入,
因为方法在类内部,可以直接调用参数,最后用ThreadStart或ParameterizedThreadStart委托调用方法。
因为方法在类内部,可以直接调用参数,最后用ThreadStart或ParameterizedThreadStart委托调用方法。
using System; using System.Threading; namespace PlusThread { class MYThread { public void Print() { Console.WriteLine("无返回值的线程操作"); } public void PrintOne(object i) { Console.WriteLine((string)i); } static void Main(string[] args) { //无参数的线程 Thread thread = new Thread(new ThreadStart(new MYThread().Print)); Thread.Sleep(2000); thread.Start(); //接收一个参数 Thread oneThread = new Thread(new ParameterizedThreadStart(new MYThread().PrintOne)); oneThread.Start("有一个参数的线程"); //接收多个参数 MYThreadMore myTreadMore = new MYThreadMore("Hello", "World"); Thread threadMore = new Thread(new ParameterizedThreadStart(myTreadMore.PrintMore)); threadMore.Start("第三个参数"); //匿名方法 Thread threadNiming = new Thread(new ThreadStart(delegate () { string firstParam = "Hello "; string secondParam = "World"; Console.WriteLine(firstParam + secondParam); })); } } public class MYThreadMore { string FirstParam; string SecondParam; public MYThreadMore(string firstParam, string secondParam) { FirstParam = firstParam; SecondParam = secondParam; } public void PrintMore(object j) { Console.WriteLine(FirstParam + " " + SecondParam + " " + j.ToString()); } } }
相关文章推荐
- VS2003 C#:重写键盘响应事件、动态创建控件、创建线程、在线程中使用委托在界面显示数据
- c#线程问题:线程间操作无效:从不是创建控件 的线程访问它InvalidOperationException异常
- CLR via C# 读书笔记 1-2 创建线程的成本
- C# 线程手册 第二章 .NET 中的线程 创建一个线程
- c#中使用多线程访问winform中控件的若干问题 解决线程间操作无效: 从不是创建控件的线程访问它
- 【转】C# 创建 终止线程
- C# 线程手册 第七章 网络和线程 创建一个客户端
- C# 线程操作 出现“从不是创建控件lstUser的线程访问它”错误的解决方法
- C# 多线程编程 - 使用Thread类创建线程
- C# 线程手册 第三章 使用线程 创建线程安全的包装器(实战篇)
- 如何:创建和终止线程(C# 编程指南)
- C# 创建线程
- c# 线程间操作无效: 从不是创建控件“”的线程访问它,用托管来解决
- c#线程问题:线程间操作无效:从不是创建控件 的线程访问它InvalidOperationException异常
- C#在线程中创建窗体
- C#中创建带参数的线程
- 如何:创建和终止线程(C# 编程指南--MSDN)
- VS2005 C#创建WebService使用线程(续)
- 如何:创建和终止线程(C# 编程指南)
- C# 线程间操作无效: 从不是创建控件“”的线程访问它~~~的解决方法~