线程的实现

  1. 继承 Thread  

 

package main.thread;

public class Machine extends Thread{

    public void run(){

       for(int a=0; a<10; a++){

           System.out.println(currentThread().getName()+":"+a);

           try{

              sleep(100);      //给其他线程运行的机会,这样machine1与machine2线程属于分时调度模式

           }catch(InterruptedException e){

              throw new RuntimeException(e);

           }

       }

    }

    public static void main(String[] args){

       System.out.println(currentThread().getName());  //该主线程

       Machine machine1 = new Machine();

       Machine machine2 = new Machine();     

       machine1.start();    //启动第一个Machine线程

       machine2.start();     //启动第二个Machine线程

    }

}
 

 

  2. 实现 Runable 接口

    Java 不允许一个类继承多个类,因此一旦一个类继承了 Thread 类,就不能再继承其他的类。为了解决这一问题, Java 提供了 java.lang.Runnale 接口,它有一个 run() 方法 ,定义如下:

   public void run();  

 

package main.thread;

public class Machine implements Runnable{

    @Override

    public void run() {

       // TODO Auto-generated method stub

       for(int a=0; a<10; a++){

       System.out.println(Thread.currentThread().getName()+":"+a);

       try{

           Thread.sleep(100);

       }catch(InterruptedException e){

           throw new RuntimeException(e);

       }

      }

    }

    public static void main(String[] args){

       Machine machine = new Machine();

       Thread t1 = new Thread(machine);

       Thread t2 = new Thread(machine);

       t1.start();

       t2.start();

    }

}

  

 

注: 在 Thread 类中定义了如下形式的构造方法:

Thread(Runnable runnable)    // 当线程启动时,讲执行参数 runnable 所引用对象的 run() 方法

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值