线程

1.线程的概念:
线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。
每一个程序都至少有一个线程,那就是程序本身。线程是程序中一个单一的顺序控制流程。 在单个程序中同时运行多个线程完成不同的工作,称为多线程。
2.线程的实现:
(1)继承Thread类,重写run()方法
(2)实现Runnable接口,重写run()方法
(3)使用线程池
举例:
(1)继承Thread类,重写run()方法

package com.dqpi.test;
/** * 实现线程的方式之一:extends Thread * @author 李勇勇 * */
public class ExtendsThread extends Thread{
    /** * @param args */
    public static void main(String[] args) {
        ExtendsThread et = new ExtendsThread();
        Thread thread = new Thread(et);
        thread.start();
    }
    public void run() {
        super.run();
        for(int i=1;i<10;i++)
        {
            System.out.print(i + "\t");
        }
    }
}

(2)实现Runnable接口,重写run()方法

package com.dqpi.test;
/** * 线程的实现方式之二:implements Runnable * @author 李勇勇 * */
public class ImplementsRunnable implements Runnable {

    /** * @param args */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        ImplementsRunnable ir = new ImplementsRunnable();
        Thread thread = new Thread(ir);
        thread.start();

    }
    public void run() {
        for(int i=1;i<10;i++)
        {
            System.out.print(i + "\t");
        }
    }
}
  • Thread类是java.lang包下的,它继承了Object类并且也实现了Runnable接口。(参考JDK 1.7 API)
  • 推荐使用线程池或者实现Runnable接口,因为如果一个类继承了Thread类就不能继承其他的类了,JAVA只支持单继承。

你可能感兴趣的:(线程)