`

java多线程的二种实现

阅读更多
在JAVA中,有2种形式可以实现自己的多线程程序,第一种是继承,第二种是实现接口里的方法。
因为在JAVA中不许多重继承,所以大多数我们选择第二种实现接口来实现自己的多线程程序。

第一种:

public class Thread1 extends Thread {
     
         public void run(){
           //这里实现自己的逻辑代码;
      }
}



  启动这个线程:
 Thread1 t=new Thread1();//new出Thread1对象实例
  t.start();//启动



第二种:

   public class Thread2 implements Runnable {
           
          public void run(){
           //这里实现自己的逻辑代码;
         }
 } 


  启动这个线程:
 
Thread t2=new Thread(new Thread2());//new出Thread1对象实例
  t.start();//启动


从这里可以看到,创建多线程的这2种方法都差不多,都要实现RUN方法,唯一比较大的区别就是在实例化这个地方,需要注意。当start()方法开始执行,那么我们实现的RUN方法也就开始被执行了,RUN方法执行完后,这个线程也就结束了自己的生命周期。如果我们想此线程不退出,那么我们只要保证这个线程不结束就可以了。通常加一个死循环,如:

 public void run(){
          while(true){
         //逻辑代码
           }
   }


这样做,当此线程有事情要做时,CPU会分配时间片,如果不执行,那么CPU将把时间片交给其它的程序,而此线程一直处于休眠状态,直到在次被CPU唤醒。而此线程一直存在。


  
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics