并发

2017-10-09  本文已影响0人  chenyq1989

并发

线程

Thread Runnable

中断线程

  1. 调用该方法,线程的中断状态将被设置为true
  2. 被中断的线程调用isInterrupted判断是否被请求中断
  3. 如果被请求的线程被阻塞,将会抛出InterruptedException,而且线程的中断状态将会被清除

静态方法,调用该方法将检测当前线程是否被中断,并清除中断状态

实例方法

线程状态

  1. NEW
  2. Runnable
  3. Blocked
  4. Waiting
  5. Timed waiting
  6. Terminated

状态之间的转换图

线程属性

  1. 优先级
  2. 守护线程
  3. 未捕获异常处理

同步

  1. 竞争条件
  2. 锁对象

synchronized ReentrantLock

  1. 条件对象

Condition await SignalAll

  1. synchronized关键字
  2. 同步阻塞
  3. 监视器概念
  4. volatile域
  5. final变量
  6. 原子性
  7. 死锁
  8. 线程局部变量
  9. 锁测试与超时
  10. 读写锁
  11. 为什么弃用stop和suspend

阻塞队列

BlockingQueue ArrayBlockingQueue LinkedBlockingQueue DelayQueue Delayed PriorityBlockingQueue BlockingDeque TransferQueue

线程安全的集合

  1. 高效的映射, 集合队列

ConcurrentHashMap ConcurrentSkipListMap ConcurrentLinkedQueue

  1. 映射条目的原子更新
  1. 对并发散列映射的批操作
  1. 并发集视图
  1. 写数组拷贝
  1. 并行数组算法

Arrays类提供了大量并行化操作

  1. 较早的线程安全集合

Callable与Future

执行器

Executor

  1. 线程池
  1. 预定执行
  1. 控制任务组
  1. Fork-join框架
  2. 可完成Future

同步器

  1. 信号量Semaphore
  2. 倒计时门栓 CountDownLatch
  3. 障栅 CyclicBarrier
  4. 交换器 Exchanger
  5. 同步队列 SynchronousQueue

线程与Swing

上一篇 下一篇

猜你喜欢

热点阅读