多线程

多线程

同时执行多个任务。

线程和进程的概念,参考python版的笔记:

实现多线程

Java中实现多线程有以下三种方式:

三种实现方式的对比

优点 缺点
实现Runnable、Callable接口 扩展性强,实现该结构的同时,还可以继承其他的类 编程相对复杂,不能直接使用Thread类中的方法
继承Thread类 编程比肩简单,可以直接使用Thread类中的方法 扩展性较差,不能再继承其他的类

常见的方法

Runnable接口比继承Thread类所具有的优势

  1. 适合多个相同的程序代码的线程去共享同一个资源。
  2. 可以避免java中的单继承的局限性。
  3. 增加程序的健壮性,实现解耦操作,代码可以被多个线程共享,代码和数据独立。
  4. 线程池只能放入实现Runable或callable类线程,不能直接放入继承Thread的类。

线程安全

生产者与消费者

等待和唤醒的方法

多线程高级