哎呦我去,网上例子很多说Thread和Runnable区别是资源共享。
1.两个是不同类别,一个类,一个借口。Thread implements Runnable
2.例子里 三个售票窗口 卖10张票,两者都可以实现。
可以说,实现多线程的方式 有Thread和Runnable两种。
class MutliThread extends Thread{ //class MutliThread implements Runnable{//都可实现资源共享 private int ticket=10;// public void run(){ while(ticket>0){ System.out.println(ticket--+" is saled by "+Thread.currentThread().getName()); } } } public class testt { public static void main(String [] args){ MutliThread m=new MutliThread(); Thread t1=new Thread(m,"Window 1"); Thread t2=new Thread(m,"Window 2"); Thread t3=new Thread(m,"Window 3"); t1.start(); t2.start(); t3.start(); } }
上面代码Thread和类MutliThread本没有关系。在Thread start后,运行MutliThread里的run(). 如此而已。