第一种:1.newThread(){}.start();这表示调用Thread子类对象的run方法,newThread(){}表示一个Thread的匿名子类的实例对象,子类加上run方法后的代码如下: new Thread(){ public void run(){ } }.start(); 2.第二种: new Thread(newRunnable(){}).start();这表示调用Thread对象接受的Runnable对象的run方法,newRunnable(){}表示一个Runnable的匿名子类的实例对象,runnable的子类加上run方法后的代码如下: new Thread(newRunnable(){ public void run(){ } } ).start(); 3.3.Java5以后的第三种方法:1).获取一个"线程池"对象;Executors: public static ExecutorService newFixedThreadPool(int nThreads) 获取线程池对象 ExecutorService pool= Executors.newFixedThreadPool(3) for(inti=0;i<10;i++) { pool.execute(new Runable(){public voidrun(){}}); } Executors.newCachedThreadPool().execute(newRunable(){public void run(){}});
Executors.newSingleThreadExecutor().execute(newRunable(){public void run(){}}); pool.shutdown();
|