电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

C线程系列讲座:Thread类的应用

C线程系列讲座:Thread类的应用_第1页
1/13
C线程系列讲座:Thread类的应用_第2页
2/13
C线程系列讲座:Thread类的应用_第3页
3/13
C#线程系列讲座(2):Thread 类的应用 本文为原创,如需转载,请注明作者和出处,谢谢! 上一篇:C#线程系列讲座(1):BeginInvoke 和EndInvoke 方法 一、 Thread 类的基本用法 通过 System.Threading.Thread 类可以开始新的线程,并在线程堆栈中运行静态或实例方法。可以通过 Thread 类的的构造方法传递一个无参数,并且不返回值(返回 void)的委托(ThreadStart),这个委托的定义如下: [ComVisibleAttribute(true)] public delegate void ThreadStart() 我们可以通过如下的方法来建立并运行一个线程。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; namespace MyThread { class Program { public static void myStaticThreadMethod() { Console.WriteLine("myStaticThreadMethod"); } static void Main(string[] args) { Thread thread1 = new Thread(myStaticThreadMethod); thread1.Start(); // 只要使用Start 方法,线程才会运行 } } } 除了运行静态的方法,还可以在线程中运行实例方法,代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; namespace MyThread { class Program { public void myThreadMethod() { Console.WriteLine("myThreadMethod"); } static void Main(string[] args) { Thread thread2 = new Thread(new Program().myThreadMethod); thread2.Start(); } } } 如果读者的方法很简单,或出去某种目的,也可以通过匿名委托或Lambda 表达式来为Thread 的构造方法赋值,代码如下: Thread thread3 = new Thread(delegate() { Console.WriteLine("匿名委托"); }); thread3.Start(); Thread thread4 = new Thread(( ) => { Console.WriteLine("Lambda 表达式"); }); thread4.Start(); 其中Lambda表达式前面的( )表示没有参数。 为了区分不同的线程,还可以为Thread 类的Name 属性赋值,代码如下: Thread thread5 = new Thread(() => { Console.WriteLine(Thread.CurrentThread.Name); }); thread5.Name = "我的Lamdba"; thread5.Start(); 如果将上面thread1 至 thread5 放到一起执行,由于系统对线程的调度不同,输出的结果是...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

C线程系列讲座:Thread类的应用

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部