Java并发——什么是线程

一个程序同时执行多个任务,通常每一个任务称为一个线程。可以同时运行一个以上线程的程序称为多线程程序。

多线程与多进程的区别在于每个进程拥有自己的一整套变量,而线程则共享数据。与进程相比较,线程更加轻量级,创撤销一个线程比启动新进程的开销要小得多

1.java.lang.Thread 1.0:

static void sleep(long millis)

线程休眠给定的毫秒数

2.使用线程给其他任务提供机会:

在这里可以使用Runnable接口来定义一个线程,将实现代码放在run方法中,

Runnable是一个函数式接口,可以使用lambda表达式建立一个实例:

Runnable r = () -> {task code};,

再由Runnable创建一个Thread对象:

Thread t = new Thread(r);,

启动线程:

t.strat();

也可以通过构建一个Thread类的子类定义一个线程,例如:

Class MyThread extends Thread

{

    public void run()

    {

        task code

    }

}

然后构造一个子类的对象,并调用start方法。不过这种方法不再推荐。应该将要并行运行的任务与运行机制解耦合

不要调用Thread类或者Runnable对象的run方法。直接调用run方法,只会执行同一个线程中的任务,而不会启动新线程。应该调用Thread.start方法。这个方法将创建一个执行run方法的新线程

2.1java.lang.Thread 1.0:

    Thread(Runnable target)

    构造一个新线程,用于调用目标的run()方法

    void start()

    启动这个线程,将引发调用run()方法。这个方法将立即返回,并且新线程将并发运行

    void run()

    调用关联Runnable的run方法

2.2java.lang.Runnable 1.0:

    void run()

    必须覆盖这个方法,并在这个方法里提供所有执行的任务指令

猜你喜欢

转载自blog.csdn.net/qq_38386085/article/details/81380738
今日推荐