jackyrong

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

JAVA中建立多线程,无非两种方式,一是继承自thread类,另一种是实现runnable接口,下面两个例子很典型,可以复习下
1、继承自thread类
  

public class j02140301 extends Thread  // 步骤 1
{
  public void run()   // 步骤 2 ,覆盖继承自 Thread 的 run()
  {
    while(true)
    { 
      System.out.print("X ");
      //....
      try
      {
        Thread.sleep(1000);  // 此线程要休眠 1 秒       
      }
      catch(InterruptedException e){/*...*/}
    }  
  }
 
  public static void main(String abc[])
  {
    Thread ThreadObj1 = new myDog();   
    ThreadObj1.start();     //  自动调用  run()
   
    Thread ThreadObj2 = new j02140301();   
    ThreadObj2.start();     //   自动调用  run()
   
   
    for(int x=1;x<=5;x++)// main thread 执行此 for 叙述句
    { 
     System.out.print("A ");
    }
    System.out.println();   
  } //到此 main thread 就停了
}

//=======================================================
//另一个继承 Thread 的类
class myDog extends Thread  // 步骤 1
{
  public void run()   // 步骤 2
  {
    System.out.print("dog ");  
  }
}


2、public class j02140302 implements Runnable  // 步骤 1
{
  public void run()   // 步骤 2
  {
    while(true)
    { 
      System.out.println("欢迎~~ ");
      //....
      try
      {
        Thread.sleep(1000);  // 休眠 1000 毫秒
      }
      catch(InterruptedException e){  }
    }  
  } 
 
  public static void main(String abc[])
  {   
    Thread ThreadObj1 = new Thread( new welcome() );   // 步骤 3 ,利用 Runnable 对象建构 Thread 对象
    ThreadObj1.start();     // 步骤 4   自动调用 welcome 实现的 run()
   
    Thread ThreadObj2 = new Thread( new j02140302() );   // 步骤 3 ,利用 Runnable 对象建构 Thread 对象
    ThreadObj2.start();     // 步骤 4   自动调用 j02140302 实现的 run()     
  }
}

class myFriend
{
  public void sayHello()
  {
    System.out.println("朋友!好久不见!");
  }
}

class welcome extends myFriend implements Runnable   // 步骤 1    
{             //拥有 myFriend 的实例,也有 Runnable 的实例                          
  public void run()   // 步骤 2
  { 
    while(true)
    {
      sayHello();
      try
      {
        Thread.sleep(3000);   // 休眠 3000 毫秒
      }
      catch(InterruptedException e){  }
    }
  } 
}

 

posted on 2006-02-16 21:48  jackyrong的世界  阅读(1577)  评论(0编辑  收藏  举报