阻塞队列基本原理

1)阻塞队列: 线程级别的场景
    ArrayBlockingQueue
    LinkedBlockingQueue
    DelayQueue:优先级的无界阻塞队列
    SynchrousQueue

    。。。7种


    1.责任链

    2.方法--》实现生产者 消费者模型---》实现顺序处理 
        remove(删除) poll(取元素, 没有元素则返回null) take(队列为空则阻塞)
        add(添加元素到队列,满了以后会抛出异常)  offer(添加元素到队列,并返回插入是否成功的状态, 超时) put(添加,满了后一直阻塞,直到队列可用)

    3.进程级别的
        kafka
        RabbitMq


    4.Atomic--》CAS的原理  
        value的属性在内存里面的偏移量。
        并发量非常大的时候,会非常的耗性能,因为会不断的cas  


        避免:原子性问题。 切换到其他线程了。


        atomic--》基于CAS实现--》基于乐观锁


    5.sleep和wait是使用park实现

        Unsafe其实都是native方法,都是直接操作了指令,保证原子性

©️2020 CSDN 皮肤主题: 酷酷鲨 设计师:CSDN官方博客 返回首页