如果一个类继承了Thread类,则不适合资源的共享,但是如果实现了Runnable接口的话,则很容易实现资源共享
- 实现Runnable接口比继承Thread类的所具有的优势:
1. 适合多个相同的程序代码的线程去共享同一个资源
2. 可以避免java中单继承的局限性
3. 增强了程序的健壮性,实现解耦操作,代码可以被多个线程共享,代码和线程可以实现分离
4. 线程池只能放入实现Runnable或者Callable类的线程,不能直接放入继承Thread的类
备注:
在java中,每次程序运行至少启动两个线程,一个是main线程,一个是垃圾收集线程。因为每当使用java命令去执行一个类的时候,实际上都会启动一个JVM,每一个JVM其实都是在操作系统中启动了一个进程