关于thread的几点认识
2014-06-16 13:08
232 查看
线程生命周期
线程api详解
线程执行start() - 使该线程开始执行,java虚拟机调用其run方法。
run() - 如果该线程是使用独立的Runnable运行对象构造的,则调用其Runnable对象的run方法;否则该方法不执行任何操作并返回。
线程阻塞
sleep() - 让当前正在执行的线程休眠指定的时间(暂停执行)
yield() - 让出cpu的使用权,给其他的线程执行机会,让同等优先权的线程可以执行(但并不保证当前线程会被JVM再次调度,使该线程重新进入Running状态),如果没有同等优先权的线程,那么yield方法将不起作用。
线程生命周期
isAlive() - 判断当前线程是否还活着
join() - 使用该方法的线程会在此执行完毕之后再往下继续执行。眼睁睁的看着她死去,什么都不做。
线程交互
wait() - 当一个线程执行到wait()方法时,他就进入到一个和该对象相关的等待池(Waiting Pool)中,同时失去了对象的锁---暂时的,wait后还要返还对象锁。当前线程必须拥有当前对象的锁,如果当前线程不是此锁的拥有者,会抛出IllegalMonitorStateException异常,所以wait()必须在synchronized block中调用。
notify()/notifyAll() - 唤醒在当前对象等待池中等待的第一个线程/所有线程。notify()/notifyAll()也必须拥有相同对象锁,否则也会抛出IllegalMonitorStateException异常
相关文章推荐
- 关于STRUCT的几点认识
- 【原】关于nil的几点认识,居然都现在才发现~~
- 关于CABAC的几点认识
- 关于c++优先队列priority_queue的几点浅显认识
- 关于computer view(CV)的几点认识-数字图像处理
- 关于.Net中ThreadPool的一些认识
- 转: 【理念篇】关于数据驱动运维的几点认识
- 关于web service的几点认识
- 关于对J2EE几点误解和错误认识的澄清
- 关于四参数和七参数的几点认识
- 关于http协议的几点认识
- 关于CSS的几点认识
- 关于红黑树的几点概念认识
- 关于对J2EE几点误解和错误认识的澄清
- 关于C/C++的几点认识
- 关于UICollectionView的几点认识
- 关于贪心思想与DP的结合的几点认识
- 关于HandlerThread的一点认识
- 关于物理内存的几点认识
- 关于中断和异常的几点认识