线程:
java是一种支持多线程的语言
线程是进程的微量单位
一般50个线程所占的资源消耗相当于一个进程的消耗,
线程多应用在软件性能测试这个行业,和其他需要多线程工作的地方。
线程的两种实现方式:
1.继承Thread类,重写run方法
启动线程:
直接创建类的对象,用对象的引用去调用父类的start方法
2.实现Runnable接口,重写run方法
启动线程:
先创建类的对象引用,再创建线程的对象引用,再创建线程对象的时候使用有参的构造方法将类的对象引用传入其中,然后用线程引用去调用start方法。
两种方式的优缺点:
使用接口的方式:优点:线程类只是实现了Runnable接口,还可以继承其他类。在这种方式下,多个线程可以共享同一个target对象,所以非常适合多个相同线程来处理同一份资源的情况,从而可以将CPU、代码和数据分开,形成清晰的模型,较好地体现了面向对象的思想。缺点:编程稍微复杂,如果要访问当前线程,则必须使用Thread.currentThread()方法。
使用继承的方式:优点:编写简单,如果需要访问当前线程,则无需使用Thread.currentThread()方法,直接使用this即可获得当前线程。缺点:线程类已经继承了Thread类,所以不能再继承其他父类。