1.继承Thread类,
Thread 类本质上是实现了Runnable接口的一个实例,代表一个线程的实例。启动线程的
唯一方法就是通过Thread类的start0实例方法。start0方法是一个native方法,它将启
动一个新线程,并执行run0方法。这种方式实现多线程很简单,通过自己创建的类直接
extend Thread,并复写run0方法,就可以启动新线程并执行自己定义的run0方法.
优点:代码简单。+
缺点:该类无法继承别的类,
2.实现Runnable接口,
Java中的类属于单继承,如果自己的类已经extends另一个类,就无法直接extends
Thread,但是一个类继承一个类同时,是可以实现多个接口的,
优点:继承其他类。统一实现该接口的实例可以共享资源。.
缺点:代码复杂,
3.实现Callable 接口.
实现Runnable和实现Callable接口的方式基本相同,不过Callable接口中的call0方法
有返回值,Runnable接口中的run0方法无返回值。
4.线程池方式.
线程池,其实就是一个容纳多个线程的容器,其中的线程可以重复使用,省去了频繁
创建线程对象的操作,因为反复创建线程是非常消耗资源的,
优点:实现自动化装配,易于管理,循环利用资源。 |
|