Java并发知识体系
2024-10-18 15:37:52   0  举报             
     
         
 AI智能生成
  Java并发知识体系
    作者其他创作
 大纲/内容
  并发理论基础    
     并发&并行  
     线程基础    
     线程&进程  
     Java线程的生命周期(6种状态)  
     start,sleep,join,yield等方法详解  
     Java线程的中断机制  
     Java线程间通信    
     volatile  
     等待唤醒机制    
     cas+park/unpark  
     sychronized+wait/notify/notifyAll  
     reentrantLock+Condition(await/singal/singalAll)  
     管道输入输出流  
     Thread.join  
     管程    
     synchronized  
     Lock+Condition  
     多线程模型    
     共享内存模型(JMM)    
     并发编程bug的源头    
     可见性问题  
     有序性问题  
     原子性问题  
     volatile原理  
     cas原理  
     happens-before原则  
     主存和工作内存交互8大原子操作    
     lock(锁定):作用于主内存的变量,把一个变量标识为一条线程独占状态。  
     unlock(解锁):作用于主内存变量,把一个处于锁定状态的变量释放出来,释放后的变量才可以被其他线程锁定。  
     read(读取):作用于主内存变量,把一个变量值从主内存传输到线程的工作内存中,以便随后的load动作使用  
     load(载入):作用于工作内存的变量,它把read操作从主内存中得到的变量值放入工作内存的变量副本中。  
     use(使用):作用于工作内存的变量,把工作内存中的一个变量值传递给执行引擎,每当虚拟机遇到一个需要使用变量的值的字节码指令时将会执行这个操作。  
     assign(赋值):作用于工作内存的变量,它把一个从执行引擎接收到的值赋值给工作内存的变量,每当虚拟机遇到一个给变量赋值的字节码指令时执行这个操作。  
     store(存储):作用于工作内存的变量,把工作内存中的一个变量的值传送到主内存中,以便随后的write的操作。  
     write(写入):作用于主内存的变量,它把store操作从工作内存中一个变量的值传送到主内存的变量中。  
     CPU高速缓存架构    
     多种缓存一致性协议    
     MSI protocol, the basic protocol from which the MESI protocol is derived.
Write-once (cache coherency), an early form of the MESI protocol.
MESI protocol
MOSI protocol
MOESI protocol
MESIF protocol
MERSI protocol
Dragon protocol
Firefly protocol
    Write-once (cache coherency), an early form of the MESI protocol.
MESI protocol
MOSI protocol
MOESI protocol
MESIF protocol
MERSI protocol
Dragon protocol
Firefly protocol
 伪共享问题  
     非共享内存模型    
     CSP    
     golang  
     Actor    
     Erlang  
     线程安全问题    
     分类    
     运行结果错误  
     活跃性问题(死锁,饥饿,活锁)  
     对象发布和初始化  
     线程安全问题解决方案    
     无锁    
     局部变量  
     不可变对象    
     final关键字  
     ThreadLocal  
     cas    
     atomic包下原子类  
     有锁实现    
     锁分类    
     线程要不要锁住同步资源    
     锁住    
     悲观锁  
     不锁住    
     乐观锁  
     等锁的过程    
     自旋锁:不停的去尝试获取锁  
     非自旋锁:阻塞型的  
     是否可以中断    
     可以    
     可中断锁  
     不可以    
     不可中断锁  
     同一个线程是否可以重复获取一把锁    
     可以    
     可重入锁  
     不可以    
     不可重入锁  
     多个线程竞争时,是否需要排队    
     需要    
     公平锁  
     不需要    
     非公平锁  
     多线程能否共享一把锁    
     可以共享    
     共享锁  
     不可以共享    
     独占锁  
     synchronized中锁竞争程度    
     偏向锁  
     轻量级锁  
     重量级锁  
     synchronized  
     Lock    
     基于AQS同步器(AbstractQueuedSynchronizer)    
     ReentrantLock  
     ReentrantReadWriteLock  
     StampedLock  
     并发工具类    
     atomic包下原子类    
     AtomicInteger、AtomicLong、AtomicBoolean  
     AtomicReference、AtomicStampedRerence、AtomicMarkableReference  
     AtomicIntegerArray、AtomicLongArray、AtomicReferenceArray  
     AtomicIntegerFieldUpdater、AtomicLongFieldUpdater、AtomicReferenceFieldUpdater  
     DoubleAccumulator、DoubleAdder、LongAccumulator、LongAdder、Striped64  
     线程池    
     ThreadPoolExecutor  
     ScheduledThreadPoolExecutor  
     线程协作    
     CountDownLatch  
     Semaphore  
     CyclicBarrier  
     Exchanger  
     Phaser  
     并发容器    
     Map    
     ConcurrentHashMap  
     ConcurrentSkipListMap  
     List    
     CopyOnWriteArrayList  
     Set    
     CopyOnWriteArraySet  
     ConcurrentSkipListSet  
     Queue    
     BlockingQueue    
     ArrayBlockingQueue  
     LinkedBlockingQueue  
     SynchronousQueue  
     PriorityBlockingQueue  
     DelayQueue  
     LinkedTransferQueue  
     ConcurrentLinkedQueue  
     BlockingDeque    
     LinkedBlockingDeque  
     ConcurrentLinkedDeque  
     异步编程Future    
     FutureTask  
     CompletionService  
     CompletableFuture  
     并行框架Fork/Join    
     ForkJoinPool  
     ForkJoinTask  
     高性能队列Disruptor  
     。。。  
     并发设计模式    
     优雅终止线程的设计模式    
     两阶段终止(Two-phase Termination)模式    
     如何优雅的终止线程  
     避免共享的设计模式    
     不变性(Immutability)模式    
     想破坏也破坏不了  
     写时复制(Copy-on-Write)模式  
     线程本地存储(Thread-Specific Storage)模式    
     没有共享就没有伤害  
     多线程版本的if模式    
     守护挂起(Guarded Suspension)模式    
     等我准备好哦  
     避免执行(Balking) 模式    
     不需要就算了  
     多线程分工模式    
     Thread-Per-Message 模式    
     最简单实用的分工方法  
     工作线程(Worker Thread)模式    
     如何避免重复创建线程  
     生产者-消费者模式    
     用流水线的思想提高效率  
     。。。  
      收藏 
       收藏 
     
 
 
 
 
  0 条评论
 下一页