并发编程概述

并发编程

并发编程的四个阶段

  • 掌握基本的API,能够熟练的编写正确的多线程程序
  • 熟读API源码,理解其实现的原理,并能够举一反三
  • 了解java虚拟机的内存模型
  • 了解操作系统对多线程的支持

进程与线程

进程

  • 运行中的程序
  • 进程是资源配的基本单位
  • 进程中包含多个线程,线程共享进程资源

线程

  • 线程是处理器调度的基本单位
  • 状态
    • 初始(NEW)
    • 运行(RUNNABLE)
    • 阻塞(BLOCKED)
    • 等待(WAITING)
    • 超时等待(TIME_WAITING)
    • 终止(TERMINATED)
      这里写图片描述

线程风险

  • 线程安全性问题
    • 多线程环境下
    • 多个线程共享一个资源
    • 对资源进行非原子性操作
  • 活跃性问题
    • 死锁
    • 活锁
    • 饥饿
      • 高优先级吞噬所有低优先级的CPU时间片
      • 线程永久堵塞在一个等待进入同步块的状态
      • 等待的线程 永远不被唤醒
  • 性能问题



参考自:<龙果学院-Java并发编程原理与实战>

猜你喜欢

转载自blog.csdn.net/love905661433/article/details/81267952