//创建线程方式:继承Thread类 重写run()方法 调用start()方法开启线程//线程开启不一定立即执行 由CPU调度执行publicclassTestThreadextendsThread{@Overridepublicvoidrun(){for(int i =0; i <20; i++){System.out.println("多线程"+i);}}publicstaticvoidmain(String[] args){TestThread t =newTestThread();
t.start();for(int i =0; i <20; i++){System.out.println("主线程"+i);}}}
//实现Runnable接口 重写run()方法 执行线程需要丢入Runnable接口的实现类 调用start()方法publicclassTestRunnableimplementsRunnable{@Overridepublicvoidrun(){for(int i =0; i <20; i++){System.out.println("多线程"+i);}}publicstaticvoidmain(String[] args){//创建Runnable接口的实现类对象TestThread t =newTestThread();//创建线程对象 通过线程对象来开启我们的线程 代理Thread thread =newThread(t);
thread.start();for(int i =0; i <20; i++){System.out.println("主线程"+i);}}}