线程理解4

来源:互联网 发布:linux mint18版本区别 编辑:程序博客网 时间:2024/05/17 07:28
/*
 时间:2015年3月11日21:06:47
 stop()声明如下;
  @Deprecated
  public final void stop()
   已经过时,强迫线程停止执行。该方法具有固有的不安全性。因为是强制执行,所以可能会导致数据不一致,比如说线程中
   打开了文件,来不及关闭线程就会停止了。
   
   创建线程的另一种方式是声明实现Runnable接口的类。该类然后实现run方法,然后可以分配该类的实例,在创建Thread时,该对象作为参数传递并启动。
   该方式的风格如下:
   class PrimeThread extends Thread {

       long minPrime;
         PrimeRun(long minPrime) {
             this.minPrime = minPrime;
         }
 
         public void run() {
             // compute primes larger than minPrime
              . . .
         }
     }
 
--------------------------------------------------------------------------------

 然后,下列代码会创建并启动一个线程:
 
 
      PrimeRun p = new PrimeRun(143);
      new Thread(p).start();
     

    Thread的构造方法声明如下:
     Thread()
          分配新的 Thread 对象。
   Thread(Runnable target)
             分配新的 Thread 对象。
   Thread(Runnable target, String name)
             分配新的 Thread 对象。
   Thread(String name)
             分配新的 Thread 对象。


   
*/
public class TestThread4 {
  public static void main(String[] args) {
   Runner4 r = new Runner4();
   Thread t = new Thread(r);
   t.start();
   
   for (int i=0; i<15; i++) {
    System.out.println("in Thread Main " + i);
   }
   
   System.out.println("Main Thread is over !!!");
   
   //不建议使用
   //t.stop();
   //而是这样
   t.shutDown();
  }
}


class Runner4 implements Runnable {
 int i = 0;
 boolean flag = true;
 public void run() {
  while(flage == true) {
    System.out.println("i " + i++);
  }
 }

 
 public void shutDown() {
  flag = false;
 }
}

/*
D:\java\thread>javac TestThread4.java
注: TestThread4.java使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重

D:\java\thread>java TestThread4
in Thread Main 0
i 0
in Thread Main 1
i 1
in Thread Main 2
i 2
in Thread Main 3
i 3
in Thread Main 4
i 4
in Thread Main 5
i 5
in Thread Main 6
i 6
in Thread Main 7
i 7
in Thread Main 8
i 8
in Thread Main 9
i 9
in Thread Main 10
i 10
in Thread Main 11
i 11
in Thread Main 12
i 12
in Thread Main 13
i 13
in Thread Main 14
i 14
Main Thread is over !!!
i 15
*/


0 0
原创粉丝点击