架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 10361|回复: 1

[资料] C#学习使用Thread线程

[复制链接]
发表于 2017-3-27 17:32:28 | 显示全部楼层 |阅读模式

.NET框架是C#的运行时类库,.NET是一个多线程的环境。线程(Thread)是进程中一个单一的顺序控制流程。线程是进程中的实体。一个进程可以有多个线程,一个线程必须有一个父进程。

     线程一般具有read,blocking和operation三种基本状态。由三种基本状态,衍化出五种线程的基本操作。首先,derive,线程是在进程内派生出来的。其次,schedule,选择一个ready的线程进入operation状态。第三,block,如果一个线程在执行过程中需要等待某个事件发生则被阻塞。第四,unblock,如果事件开始,则该线程被unblock,进入ready队列。第五,finish,线程结束,它执行过的寄存器上下文及堆栈内容会被释放。

     新线程是新产生的线程对象,它还没有分配资源。因此只能用start()或close()方法。

     Runable状态就是线程在start()方法运行后,得到线程所必需资源并且调用run()方法执行。

     Not Runable非运行状态是发生以下事件而进入的状态,suspend()方法被调用,sleep()方法被调用,线程使用wait()来等待条件变量,线程处于I/O等待。

    Dead是当Run()方法返回,或别的线程调用stop()方法,线程进入Dead状态。下边是Thread的两个简单例子。


总结:为什么用Thread(多线程),用这个就是为了防止阻塞主线程,如果需要处理大量数据,或者调用很占用时间的方法时,我们就要使用Thread多线程。

例子:


不使用多线程:界面未响应。。。。就是因为未使用多线程




上一篇:“辱母案”背后地产老板吴学占何许之人?
下一篇:BundleTable不加载带min的js和css文件
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-5-5 19:06

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表