线程的实现:
- 继承java.lang.Thread类,重写run方法
- 实现java.lang.Runnable接口,实现run方法
启动线程
- 创建继承了Thread类的对象,并调用start()方法
- 创建Thread对象,将实现了Runnable接口的对象传递给Thread对象,并调用Thread对象的start()方法。
区别:
- 继承Thread类,执行代码和Thread类绑定了,依赖Thread。不能再继承其它的类,也不方便进行数据共享。
- 实现Runnable接口,和Thread类无关,执行的任务和线程对象解耦,方便线程之间的数据共享。
- 优先使用实现Runnable接口的方式。
线程数
原文:http://www.cnblogs.com/troye101/p/6690753.html