多线程常见问题

一.多线程相关问题

1. Thread 与runnable区别
  • 共同点
  • 区别:runnable 可以在多个线程中共享达到共享资源的优势,而且比较容易控制

二 线程间通讯

1. Synchronized 关键字
  • Synchronized 对象锁
  • Synchronized 实现线程间的通讯
  • Synchronized/volatile

volatile 不允许讲主内存的变量拷贝到线程的内存空间

volatile只能在线程和主内存直接同步一个变量值,Synchronized 可以同步线程和主内存直接所有的值。

  • Synchronized/lock

lock 方法需要制定起始与终点位置
Synchronized性能较差

Synchronized是悲观锁,lock 是乐观锁。

2. sleep/wait

wait 是object的方法 sleep 是线程的方法

3. wait/notify

wait notify 是object的方法,需要其他线程调用notify 才能释放锁。

线程池

  1. 优点
  • 降低资源消耗
  • 提高响应速度
  • 提高线程管理
  1. ThreadPoolExcutor
  • 构造参数介绍
  1. 线程池的工作流程
  • 判断基本线程是否已经满了
  • 判断工作队列是否已满
  • 判断整个线程是否满了

你可能感兴趣的:(多线程常见问题)