C#多线程学习
C#多线程学习:
(一)线程相关概念:
1)进程:运行中的程序 + 程序所用到的内存和系统资源;
2)线程:程序的执行流,有专有寄存器(栈指针、程序计数器等),代码区共享。
3)多线程好处:
CPU利用率高。
4)多线程坏处:
线程多-->内存占用多-->需要CPU时间跟踪线程协调和管理-->资源竟用-->多加控制-->造成Bug.
5)相关函数:
实例:
1 using System; 2 using System.Threading; 3 4 namespace ThreadTest 5 { 6 class RunIt 7 { 8 [STAThread] 9 static void Main(string[] args) 10 { 11 Thread.CurrentThread.Name="System Thread"; 12 Console.WriteLine(Thread.CurrentThread.Name+"'Status:"+Thread.CurrentThread.ThreadState); 13 Console.ReadLine(); 14 } 15 } 16 }
解析:
在这里,我们通过Thread类的静态属性CurrentThread获取了当前执行的线程。
静态属性:类所有对象所公有的属性,无论创建多少类的实例,静态属性只有一个。
CurrentThread是静态的原因--虽多线程同时存在,但某一时刻,CPU只执行一个线程。
Thread类有几个至关重要的方法,描述如下:
Start():启动线程;
Sleep(int):静态方法,暂停当前线程指定的毫秒数;
Abort():通常使用该方法来终止一个线程;
Suspend():该方法并不终止未完成的线程,它仅仅挂起线程,以后还可恢复;
Resume():恢复被Suspend()方法挂起的线程的执行。
(二)操作进程线程:
(三)生产者&消费者:
(四)自动管理(线程池):
(五)自动管理(定时器):
(六)互斥关系:
posted on 2012-09-17 17:07 xuejianhui 阅读(192) 评论(0) 编辑 收藏 举报