C#多线程
1、适用于:
通过网络进行通信
执行占用时间的操作
区分具有不同优先级的任务
使用户界面在执行后台任务时能快速响应用户的交互
2、Thread类常用属性及方法
属性:
IsAlive:显示当前线程执行状态
IsBackground:是否为后台进程
Name:获取或设置线程名称
ThreadState:获取当前线程状态
方法:
Thread:构造函数,线程启动时传递给线程的委托
Abort:调用时,引发ThreadAbortException,开始终止此线程
Join:阻止调用线程,直到某个线程终止时为止
ResetAbort:取消当前线程请求的Abort
Sleep:设定线程阻塞指定的毫秒数
Start:开始执行
3、线程的状态:
4、启动线程:
1) 创建线程实例:
如上图所示,调用Thread类的构造方法,就会实例化一个线程实例,但未创建实际的线程,此时线程处于Unstarted状态。
创建线程实例常用:Thread t = new Thread(线程方法);
并将线程实例委托执行线程的方法:void 线程方法 () || void 线程方法(object)
2) 创建线程
t.Start();
t.Start(Object obj);
5、暂停线程:
Thread.sleep(1000);
6、合并线程:
如果一个线程 t1 在执行过程中,需要等待另一个线程t2结束后,才能继续执行,那么可以在 t1 的代码中调用 Join 方法
例如:t2.Join();
7、终止线程:
强行终止线程:.Abort()
自然终止:当委托方法结束后,线程随之结束。
待续。。。