多线程笔记-基础知识
线程的五个状态:
新增状态:线程刚创建Thread t = new Thread();
就绪状态:线程执行start方法、sleep时间到、io方法返回、获得同步锁、收到通知
运行状态:当就绪状态的线程获得CPU资源
阻塞状态:当线程执行sleep、wait方法、IO阻塞、等待同步锁、等待通知
死亡状态:执行完成或异常
信号
有时候你需要让线程处于等待状态,直到接收其他线程发来的消息,这就叫发送信号(signaling)
最简单的发送信号的方式就是使用ManualResetEvent。调用它的WaitOne()方法阻塞线程,调用Set()方法开启信号