多线程
文章平均质量分 96
旧梦昂志
这个作者很懒,什么都没留下…
展开
-
并发编程-07 ForkJoin分治
ForkJoin的分治思想单机有用,同样到分布式场景中依然好用,主要学习思想。原创 2022-01-19 00:38:11 · 5371 阅读 · 0 评论 -
并发编程-06 BlockingQueue及应用场景详解
阻塞队列在多线程开发中,起到了重要作用。多线程协作时,为保证线程安全的交互,必须有阻塞池来接收任务。本文讲述了数组队列ArrayBlockingQueue、链表队列LinkedBlockingQueue、同步协作队列SynchronousQueue、优先级队列PriorityBlockingQueue等原创 2022-01-16 16:32:59 · 6060 阅读 · 0 评论 -
并发编程-05 AQS及多应用场景详解
Doug Lea的java.util.concurrent包下,有一系列的锁但始源都是AbstractQueuedSynchronizer。各自拥有自己的使用场景,也各有针对不同场景的优劣。其中的优势均在于更灵活多变的API,使加锁的控制相较于Synchronized更细腻。诸如:可重入锁ReentrantLock、限流锁Samphore、循环屏障CyclicBarrier、闭锁CountDownLatch、读写锁ReentrantReadWriteLock等,但追本溯源仍是抽象类AQS。原创 2022-01-15 23:30:46 · 6331 阅读 · 2 评论 -
并发编程-04 聊透synchronized锁
多线程开发中,synchronized是重难点,主要是设计太多硬件和JVM源码。其中重量级锁中的cas和最终操作系统中的线程#park(),都少人能真正的细看源码,本篇中hotspot源码源自fox老师,由衷感谢。原创 2022-01-08 18:30:13 · 5053 阅读 · 0 评论 -
并发编程-03 聊透乐观锁CAS
在JDK的并发包下,有大量使用乐观锁cas的代码,通过争抢修改cas内存值,来保证多线程竞争的高效率是提升独占锁阻塞效率的极佳姿势,但同时带来的ABA和CPU空转问题也值得大家关注。原创 2022-01-04 22:50:24 · 6898 阅读 · 0 评论 -
并发编程-02 多线程与线程池底层原理
Executors组织结构拒绝策略submit() 和 execute()的区别submit()实现了execute()方法void execute() 和 Future submit() 返回值不同Java原生线程池1.1 newCachedThreadPool()参数定义:corePoolSize: 0 (无核心线程)maximumPoolSize:max (需要的话可以创建2^32-1个线程)[无休止的创建线程会导致OOM和CPU100%]keepAliveTime :6原创 2021-12-29 23:32:23 · 5314 阅读 · 0 评论 -
多线程-01 多线程基础
多线程基础在这里插入代码片多线程应用原创 2021-01-13 00:42:43 · 151 阅读 · 0 评论