.Net 多线程

 

最近用.Net写个测试工具,用到了多线程技术,跟大家分享一下。

Thread类有几个至关重要的方法,描述如下:

Start():启动线程;

Sleep(int):静态方法,暂停当前线程指定的毫秒数;

Abort():通常使用该方法来终止一个线程;

Suspend():该方法并不终止未完成的线程,它仅仅挂起线程,以后还可恢复;

Resume():恢复被Suspend()方法挂起的线程的执行

如何启动一个新的线程并让他工作呢,在C#中,线程入口是通过ThreadStart代理(delegate)来提供的,你可以把ThreadStart理解为一个函数指针,指向线程要执行的函数,当调用Thread.Start()方法后,线程就开始执行ThreadStart所代表或者说指向的函数口说无凭,大家还是看代码吧:)

 

 

ok 大家看到了吧,启动一个线程,让他干活就是这么简单,不知道大家看到这的时候,有没有疑问呢,比如如果要运行的方法是有参数的怎么办呢,如何传参数呢?这时候我们有2中方法去实现。

1. Thread的有两个构造函数,其中一个使用参数是ThreadStart,说明该线程在构造函数中不能带入参数。还有一个ParameterizedThreadStart,则可以为你的线程传入参数,不过这个要把参数封装在一个类里面,大家看例子吧

 

 

 

大家看到这个例子赶紧怎么样,是不是感觉也就能凑活用,需要用类去封装参数。下面给大家介绍一下做优雅的一种方法,利用匿名委托

 

 


以上就是操作一个线程让他完成我们想让他完成的工作(有点绕口哈),是不是比较简单呢。这回先到这,下回和大家分享一下一个线程工作完成后如何通知另一个线程呢(未完待续)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值