![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
Code1667
这个作者很懒,什么都没留下…
展开
-
线程池到底是什么?
线程池到底是什么? 为什么要了解线程池? 首先面试中经常被问到的线程池,其次因为工作中可能你并不仅仅听到线程池,有可能更多的是数据库连接池、内存池、对象池等等的一些列“池”。万变不离其宗,了解了线程池也就是对其他的有一些了解。那线程池到底是什么玩意?本文带你一步步探索,包括线程池的三大方法、七大参数、四种拒绝策略 程序的运行本质:占用系统的资源。 那么为了优化系统资源的使用就需要用到池化技术! 池化技术 池化技术就是构建类似于池子一样的东西来存放资源,有人(线程)要用就拿去用,用完再放回来。避免了用的时原创 2020-12-04 16:51:39 · 344 阅读 · 0 评论 -
线程辅助类
线程辅助类 简要介绍三种线程辅助类的使用方式,加减计数器和信号量。 CountDownLatch 看名字就知道他是减计数器,主要是为了保证指定的线程执行完程序才能继续执行(案例:有时会多线程任务未执行完,main线程就结束了,导致多线程任务直接结束)。 CountDownLatch(int count) 示例: public static void main(String[] args) { //模拟三个线程执行任务 CountDownLatch countDownLatc原创 2020-12-04 13:14:40 · 185 阅读 · 0 评论 -
多线程虚假唤醒问题
线程虚假唤醒问题 问题描述 生产者-消费者模式,构建如下代码来判断线程的交替执行 public class TestPool { public static void main(String[] args) { MyTicket myTicket = new MyTicket(); new Thread(()->{ for (int i = 0; i < 10; i++) { myTicket.inc原创 2020-12-03 16:19:20 · 250 阅读 · 0 评论 -
CAS你知道吗?
CAS你知道吗? 1.CAS是什么? Compare-And-Swap,是一条CPU并发原语,功能就是判断内存某个位置的值是否为预期值,如果是则更改为新的值,这个过程是原子的。 简单来说四个字,比较交换 来看一段代码: public class CASDemo { public static void main(String[] args) { AtomicInteger...原创 2020-03-21 23:12:05 · 134 阅读 · 0 评论