你的位置:首页 > Java教程

[Java教程]线程Thread的基础知识学习

一.线程的基本概念

  1.线城市一个程序内部的顺序控制流。

  2.Java的线程是通过java.lang.Thread类来实现的。

  3.VM启动时会有一个由主方法{public static void main(Args[] String)}所定义的线程。

  4.可以通过创建新的Thread实例来创建新的线程。

  5.每个线程都是通过某个特定的Thread对象所对应的方法run()来完成其操作的,方法run()称为线程体。

  6.通过调用Thread类的start()方法来启动一个线程。

注意:多进程(在操作系统中能同时运行多个任务(程序));多线程(在同一应用程序中有多个顺序流同时执行)。

二.线程的建立

  1.定义线程类,实现Runnable接口(推荐,更灵活)

    Thread thread = new Threa(target);   //target为Runnable接口类型;

    Runnable中只有一个方法:public void run();  //用于定义线程运行体。

    *使用Runnable接口可以为多个线程提供共享的数据。

    在实现Runnable接口的类的run方法定义中可以使用Thread的静态方法:

      public static Thread currentThread() 获取当前线程的引用。

    

 1 public class ThreadTheory { 2   public static void main(String args[]){ 3     Runner1 runner1 = new Runner1(); 4     Thread thread = new Thread(runner1); 5     thread.start(); 6     for(int i=0;i<10;i++){ 7       System.out.println("Main Thread:"+i); 8     } 9   }10 }11 12 public class Runner1 implements Runnable {13   public void run() {14     for(int i=0;i<10;i++){15       System.out.println("Runner1:"+i);16     }17   }18 }

 

  2.继承Thread类,重写run方法:

    class MyThread extends Thread{

      public void run(){......}

    }

    然后生成该类的对象:

      MyThread myThread = new MyThread(...);

 

 1 public class ThreadTheory { 2   public static void main(String args[]){ 3     Runner2 runner2 = new Runner2(); 4     runner2.start();  //runner2本身就是一个线程了,不用再new Thread(); 5     for(int i=0;i<10;i++){ 6       System.out.println("Main Thread:"+i); 7     } 8   } 9 }10 11 public class Runner2 extends Thread {12   public void run() {13     for(int i=0;i<10;i++){14       System.out.println("Runner2:"+i);15     }16   }17 }

 

 

三.线程控制的基本方法