疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

java中有几种方法可以实现一个线程


 

   

  java5以前,有如下两种:

  有两种实现方法,分别使用new Thread()和newThread(runnable)形式,第一种直接调用thread的run方法,所以,我们往往使用Thread子类,即newSubThread()。第二种调用runnable的run方法。

  第一种:

  newThread(){}.start();这表示调用Thread子类对象的run方法,new Thread(){}表示一个Thread的匿名子类的实例对象,子类加上run方法后的代码如下:

  newThread(){

  public void run(){

  }

  }.start();

  第二种:

  newThread(new Runnable(){}).start();这表示调用Thread对象接受的Runnable对象的run方法,new Runnable(){}表示一个Runnable的匿名子类的实例对象,runnable的子类加上run方法后的代码如下:

  newThread(new Runnable(){

  public void run(){

  }

  }

  ).start();

  从java5开始,还有如下一些线程池创建多线程的方式:

  ExecutorService pool = Executors.newFixedThreadPool(3)

  for(int i=0;i<10;i++)

  {

  pool.execute(new Runable(){public voidrun(){}});

  }

  Executors.newCachedThreadPool().execute(new Runable(){publicvoid run(){}});

  Executors.newSingleThreadExecutor().execute(new Runable(){publicvoid run(){}});