参考文章:http://blog.csdn.net/gf771115/article/details/51682561
http://blog.csdn.net/emailed/article/details/4689220
先总结一下几个名词:
锁池和等待池:详见http://blog.csdn.net/emailed/article/details/4689220
锁池 : 就是 假如一个线程拥有了某个对象的锁,那其他线程自然进不了被synchronized修饰的方法或块,其他线程就会进入这个对象的锁池。
等待池: 当这个线程调用该对象的wait时,线程会主动释放锁,回到该对象的等待池。如果这时有其他线程调用这个对象的notifyAll/notify的方法,那么等待池中的所有线程会进入锁池一起争夺该对象的锁。
1.三种创建方式:继承Thread,实现Runnable,callable
runnable比thread的好处:突破单继承;因为使用一个thread ,代码和数据相对独立。
2.线程的几种状态:NEW--》RUNNABLE--》RUNNING--》BLOCKED--》DEAD;三种阻塞状态
3.线程调度:默认的线程级别;sleep/wait/yield/join/notify/方法;interrupt 立即退出,当线程处于sleep。wait状态时会报异常
4.synchronized关键字:
5.线程件传递数据: