线程

Java 多线

Java 给多线程编程提供了内置的支持。 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。

多线程是多任务的一种特别的形式,但多线程使用了更小的资源开销。

这里定义和线程相关的另一个术语 - 进程:一个进程包括由操作系统分配的内存空间,包含一个或多个线程。一个线程不能独立的存在,它必须是进程的一部分。一个进程一直运行,直到所有的非守护线程都结束运行后才能结束。

多线程能满足程序员编写高效率的程序来达到充分利用 CPU 的目的

线程是一个动态执行的过程,它也有一个从产生到死亡的过程。

一个线程的完整生命周期
public class RunnableDemo extends Thread {


    public static void main(String[] args) {
        RunnableDemo thread = new RunnableDemo();
        try {
            thread.start();
            //小睡一下?
            thread.sleep(10000);
            //打断一下??
            thread.interrupt();
            System.out.println("是否停止1?="+thread.interrupted());
            System.out.println("是否停止2?="+thread.interrupted());
            
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("end");
    }

    @Override
    public void run() {
        for (int i = 0; i < 100000 ; i++){
            System.out.println("这是第"+i+"次打印");
        }
    }
}
//运行结果
// 这是第99999次打印
//是否停止1?=false
//是否停止2?=false
//end

public class RunnableDemo implements Runnable {
    @Override
    public void run() {
        for (int i = 0; i < 100000 ; i++){
             System.out.println("打印这条数据"+i+"次");
        }
    }

    public static void main(String[] args) {

            Thread thread = new Thread(new RunnableDemo());
        try {
            System.out.println(111);
            thread.sleep(10000);
            System.out.println("小睡一下");
            thread.start();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

    }
}

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