并发(四章后关键点)

并发2

线程进程和协程

进程

  • 资源分配和调度的基本单位
  • 进程间的通信
    • 管道
    • 命名管道
    • 消息队列
    • 共享内存
    • 信号量
    • 套接字
    • 信号

线程

  • 被系统调度的最基本单位
  • 多个线程共享属于同一个进程的资源
  • 线程间的通信
    • 共享内存
    • 消息传递
    • 信号量
    • 套接字

协程

  • 一个线程内
  • 调度有程序员控制
  • 和方法不一样,执行过程中可以中断转向其他的协程,同样也可以再次跳回
  • 执行效率比线程要高
  • 不涉及到锁

⭐线程的状态

Java线程状态的变迁

image-20210228093934421

image-20210228141439570

有一个同步队列和一个等待队列

中断

要求理解java中和操作系统中的中断(作为扩展)

等待通知机制

  • Thread.join()
  • 原理就是等待通知

ThreadLocal

  • 看一下源码

⭐开发一个简易的tomcat服务器

Api级别的锁

lock接口

AQS

  • 原理
  • ReentrantLock
    • 公平锁的实现
    • 非公平锁的实现
    • 可重入锁
      • 自己这个线程可以在不释放锁的前提下获得多次这个锁
  • ReentrantReadWriteLock
  • Semaphore
  • CountDownLatch
  • CyclicBarrier

Condition 接口

image-20210228153444997

支持是多个等待队列和一个同步队列

posted @ 2021-03-01 03:56  八佰山兵上北坡  阅读(51)  评论(0编辑  收藏  举报