• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#:判断当前线程所处状态&委托

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

 

  1、线程状态ThreadState

  在C#中,线程对象Thread使用ThreadState属性指示线程状态,它是带Flags特性的枚举类型对象。

  ThreadState 为线程定义了一组所有可能的执行状态。一旦线程被创建,它就至少处于其中一个状态中,直到终止。在公共语言运行时中创建的线程最初处于Unstarted状态中,而进入运行时的外部线程则已经处于Running状态中。通过调用 Start可以将Unstarted线程转换为Running状态。并非所有的  ThreadState值的组合都是有效的;例如,线程不能同时处于Aborted和Unstarted状态中。

  因此判断线程当前的状态必须用bitmask按位运算来达到判断目的,不能直接使用相等来判断。

  2、C#中ThreadState中定义如下:

  3、如何判断当前线程状态

  1)判断线程是否处于取消状态

(MyThread.ThreadState & ThreadState.AbortRequested) != 0

2)判断线程是否处于运行状态

    这个有一点特殊,因为ThreadState.Running本身等于0,不能用&运算,所以判断可用以下方法:

       (MyThread.ThreadState == ThreadState.Running)
 
  注:以上内容转载自:http://blog.csdn.net/shuaihj/article/details/41315903 
 

   4、.Net 中如何启动线程

  .net下的线程,是通过设置委托对象来初始化,启动的。

  委托是一个继承自多播委托的类型,委托对象可以赋值的方式指向一个或多个方法。 

1 public void Test()
2 {
3     Thread thread = new Thread(new ThreadStart(ThreadMethod));
4     thread.Start();//开辟一个线程,执行方法
5 }

 

 

  推荐:http://zhoufoxcn.blog.51cto.com/792419/187031/ 这篇文章主要讲的是使用委托启动线程(带参、无参启动以及优劣比较)。

  本文仅做为笔记使用,若需转载,请转载文章原文!

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
[WindowsMobile]C#实现GIF图片播放发布时间:2022-07-14
下一篇:
C#模拟登录Facebook实现发送消息、评论帖子发布时间:2022-07-14
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap