System.Threading;
AutoResetEvent
当某一资源的数量有限,并且线程对其有独占的特性时, 我们可以使用AutoResetEvent控制程序的运行。
AutoResetEvent两个重要的方法:WaitOne()、Set()。
WaitOne(): 等待资源
Set(): 释放资源,允许下一个线程运行。
Thread
Sleep(): 该方法只能在自己的线程内部使用,就像你只能让自己想睡就睡,但你不能控制别人的睡眠。
Join(): 使用方式,t.Join(), 运行t线程,同时阻塞所有其他的线程,直至运行结束或者到达时间(t.Join(200))。
Interrupt(): 中断线程。对阻塞状态下,引发System.Threading.ThreadInterruptedException异常。对某一线程调用Interrupt, 如它正处于WaitSleepJoin状态, 则进入相应的中断处理程序执行, 若此时它不处于WaitSleepJoin状态, 则它后来进入此状态时, 将被立即中断。若在中断前调用几次Interrupt, 只有第一次调用有效。
线程的状态有:
1、AbortRequested
2、Aborted
3、Background
4、Running
5、StopRequested
6、Stop
7、SuspendRequested
8、Suspended
9、Unstarted
10、WaitSleepJoin
状态之间的转换图如下:
链接:http://blog.csdn.net/kkfdsa132/article/details/5513974
http://www.cnblogs.com/leslies2/archive/2012/03/06/2379235.html