java多线程知识点概述

时间:2023-03-09 09:22:37
java多线程知识点概述

这里只起一个概述的作用,极其简单的列一下知识点,需要在脑海中过一下,如果哪些方面不熟悉的话,建议利用网络资源去学习。

1.线程、进程概念

  概念

  线程状态及其转换

2.死锁、预防、解决

3.jdk线程实现方式

  继承Thread重写run方法、实现Runnable实现run方法、实现Callable重写call方法

  call方法能抛出异常允许有返回值

  join/jield/interrupt/stop/wait/sleep/setDaemon/suspend

4.线程同步、线程异步

  同步使用场景:共享数据和资源。 生产者消费者、哲学家共餐

  异步使用场景:io等费时操作且主线程不依赖于该操作结果

5.同步机制

  synchronized方法和块

  wait和notify/notifyAll方法(需在synchronized修饰范围内)

  重入锁对象的lock/tryLock/lockInterruptibly方法 阻塞/非阻塞/接收异常阻塞

6.线程通信

  synchronized+wait/notify

  Condition条件对象的await/signal/signalAll方法

  管道流

  共享变量

  回调

  分布式系统需借助中间件

  信号量

  内存映射

  socket

7.线程池

  ExecutorService-ThreadPoolExecutor/SchedulePoolExecutor

  NewCachedThreadPool

8.Future/FutureTask

  Callable对象,get方法

9.Concurrent并发工具包