程序运行中至少有两个线程在运行,一个是主函数的主线程,另一个是垃圾回收的线程。
线程创建方式一:
继承Thread类.要覆盖其run方法,调用线程的start方法.
作用:1.启动线程
2.运行run方法。目的是将自定义的代码存储在run方法中,让线程运行
创建线程的第二种方式:实现Runnable接口
实现方式和继承方式有什么区别?
继承Thread类:线程代码块存放在Thread子类的run方法中
实现Runnable,线程代码存放在接口的子类的run方法中,可以被多实现。
继承方式有局限性。要被实现多线程的一个类 如果继承了父类 就不能再继承Thread类。
实现方式就变面了单继承的局限性。