博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# Thread IsAlive 理解
阅读量:4704 次
发布时间:2019-06-10

本文共 1089 字,大约阅读时间需要 3 分钟。

IsAlive的功能就是判断当前线程是否处于活动状态。

public class Program    {        public static void Main(string[] args)        {            try            {                WriteNumber writenumber = new WriteNumber();                Thread t1 = new Thread(new ThreadStart(writenumber.WriteString));                Console.WriteLine("begin:" + t1.IsAlive);                t1.Name = "000";                t1.Start();                Console.WriteLine("end:" + t1.IsAlive);            }            catch (Exception ex)            {                Console.WriteLine(ex.Message);            }            Console.ReadLine();        }    }    public class WriteNumber    {        ///         /// 类方法        ///         public void WriteString()        {            Console.WriteLine("WriteString:" + Thread.CurrentThread.IsAlive);        }    }

 

输出结果:

 

结论:线程处于正在运行或准备开始运行的状态,线程就是处于活动状态的。 在没有调用Start时, 线程只作了定义, 还是处于没活动的状态。

 

最后值得讨论的是end这段代码的线程活动状态,虽然上面打印出来是True, 但此值是不确定的, 有可能这次运行时, t1线程还没执行完毕, 如果在这句代码前加Thread.Sleep(1000), 让main线程执行, 一秒钟后t1线程早已经执行完毕好久, 这时end这段代码输出为False。

转载于:https://www.cnblogs.com/whtydn/p/10286448.html

你可能感兴趣的文章
《构建之法》第一、二、十六章阅读笔记
查看>>
arrow:让Python的日期与时间变的更好
查看>>
(转)Excel的 OleDb 连接串的格式(连接Excel 2003-2013)
查看>>
Java并发编程
查看>>
Git Stash用法
查看>>
sql server 2008学习8 sql server存储和索引结构
查看>>
Jquery radio选中
查看>>
memcached 细究(三)
查看>>
RSA System.Security.Cryptography.CryptographicException
查看>>
webservice整合spring cxf
查看>>
[解题报告] 100 - The 3n + 1 problem
查看>>
Entity Framework 学习高级篇1—改善EF代码的方法(上)
查看>>
Mybatis逆向工程配置文件详细介绍(转)
查看>>
String类的深入学习与理解
查看>>
不把DB放进容器的理由
查看>>
OnePage收集
查看>>
Java parseInt()方法
查看>>
yahoo的30条优化规则
查看>>
[CCF2015.09]题解
查看>>
[NYIST15]括号匹配(二)(区间dp)
查看>>