《Java核心技术卷》读书笔记-并发(一)-多线程与多进程

54 阅读1分钟

多线程与多进程

多进程可以理解为多任务的一种实现:在同一时刻运行多个程序的能力。

多线程则在较低的层次扩展了该概念:一个程序同时执行多个任务。

多线程和多进程的区别:本质的区别是,每个进程拥有自己的一整套变量,而线程则是共享变量。多线程的方式带来了风险,但是线程间通信进程间通信更有效,更容易,并且创建线程的开销比创建进程的开销小得多。

定义线程的方式:
  1. 声明Runnable函数式接口实例,并使用该实例创建一个Thread对象(推荐,运行机制和运行内容解耦)

Runnable r = () -> {

// do something...

};

Thread t = new Thread(r);

  


t.start();

  1. 通过实现一个Thread类的子类

class myThread extends Thread {

public void run() {

// do something...

}

}