虽然Thread类可以实现多线程的主体类定义,但是它有一个问题,java具有单线程局限,正因如此针对于类的继承都应该是回避的问题,那么多线程也一样。为了解决单线程的限制,在java里面专门提供了Runnable接口。
1、实现Runnable接口方式实现多线程
与继承Thread类相比,实现Runnable接口的RunnableTest类在结构上与之前是没有区别的,但是有一点是有严重区别的,如果继承了Thread类,那么可以直接继承start()方法,但是实现Runnable接口是没有start()方法的。不管何种情况下,如果要启动多线程一定要依靠Thread类完成,多线程唯一的启动方法就是Thread类中的start方法。
如果自己的类已经extends另一个类,就无法直接extends Thread,此时,必须实现一个Runnable接口,
写一个类实现Runnable接口,实现run方法。用new Thread(Runnable target).start()方法来启动,如下:
1.1定义Runnable接口的实现类 class RunnableTest implements Runnable{ private int ticket =10; //1.2重