首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
多线程
终有救赎
创建于2023-08-25
订阅专栏
多线程相关知识包括各种关键字
等 29 人订阅
共20篇文章
创建于2023-08-25
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
【Java多线程】定时器Timer
标准库中的Timer 运行结果:先打印出main,3秒之后打印hello Timer 上述代码执行完,发现程序没有结束,原因是Timer内部是专门有线程来执行我们注册的任务,这个线程在执行完一个任务还
全面理解ThreadLocal(详细简单)
一、ThreadLocal简介 从Java官方文档中的描述:ThreadLocal类用来提供线程内部的局部变量。 这种变量在多线程环境下访问(通过get和set方法访问)时能保证各个线程的变量相对独立
并发修改异常ConcurrentModificationException详解
一、简介 在多线程编程中,相信很多小伙伴都遇到过并发修改异常ConcurrentModificationException,本篇文章我们就来讲解并发修改异常的现象以及分析一下它是如何产生的。 异常产生
多线程间的5种通信方式
问题 有两个线程,A 线程向一个集合里面依次添加元素“abc”字符串,一共添加十次,当添加到第五次的时候,希望 B 线程能够收到 A 线程的通知,然后 B 线程执行相关的业务操作。线程间通信的模型有两
线程安全的集合类(ConcurrentHashMap面试超高频考点)
🧵多线程环境下使用ArrayList ✨自己使用同步机制synchronized或者ReentrantLock 🎉使用Collections.synchronizedList(new ArrayLis
面试官:除了继承Thread类和实现Runnable接口,你知道使用Callable接口的方式来创建线程吗?
🍊为何要使用Callable来创建线程? 👁🗨️结果: 我们使用线程通信的方式对上述代码进行改造来达到我们预期的结果 👁️结果:可以看到,结果符合我们预期的结果 🍉Callable的使用方式 🍵关于
面试官:什么是死锁?死锁产生的原因?如何避免死锁?
🥧什么是死锁? 🍽️为了进一步说明死锁,有哲学家就餐这样的一个问题: 有一个桌子,哲学家们围成一圈,每两个哲学家中间有一支筷子 哲学家只能两件事:思考或者吃饭,思考时候就不会动筷子,吃饭时会拿起左右手
信号量(Semaphore)与线程计数器(CountDownLatch)(详解)
🍉信号量(Semaphore) Semaphore属于共享锁,即多个线程可以同时获取,用来表示可用资源的个数,本质上是一个计数器 🥩理解信号量: 🍂当有车开进停车场,就相当于申请一个可用资源,空车位就
锁策略相关问题(面试常考)
🍑一. JUC包(java.util.concurrent)下的常见类 juc包下的所有类都是提供多线程并发编程用的,不仅满足线程安全而且效率也很高 ReentranLock是可重入锁,具体用法: l
线程池(面试常考)
🍊一. 认识线程池 🍬举例形象说明线程池: 🍉二. 原生线程池(ThreadPoolExecutor) ThreadPoolExecutor提供了更多的参数,可以进一步细化线程池的行为 🍬Thread
Java单例---序列化破坏单例模式原理解析
什么是单例模式? 单例保证一个对象JVM中只能有一个实例 这里提供一个双重锁校验单例,并且引出了序列化破坏的问题,本篇来说一下这个原理和解决 首先把上一篇的单例代码拿过来贴上: 使用上面这个代码进行序
wait和notify实现线程之间的通信
🍊一. 为什么需要线程通信 🍖线程通信为什么不使用优先级来来解决线程的运行顺序? 🍖看下面这样的一个场景:面包房的例子来描述生产者消费者模型 🍉二. wait和notify方法 👁🗨️注意: 🌴1.
单例模式中的线程安全问题
🍈一. 使用多线程需要考虑的因素 线程安全: 使用多线程最基本的就是保障线程安全问题 所以我们在设计多线程代码的时候就必须在满足线程安全的前提下尽可能的提高任务执行的效 故: 加锁细粒度化:加锁的代码
线程安全问题(面试常考)
🍊一. 观察多线程下n++和n--操作 我们目前所知当一个变量n==0,n++了1000次并且 n--了1000次,我们的预期结果为0,但是当两个线程分别执行++和--操作时最后的结果是否为0呢? 看
Java多线程基础(线程与进程的区别,线程的创建方式及常用api,线程的状态)
☘️一. 什么是线程 🍒Java中,线程既然是以轻量级进程实现的,那它也具有进程的特征: 并发:一个CPU以时间调度轮转的方式依次执行每个线程 并行:多个CPU在同一时间同时执行多个线程 🍓线程存在的
理解进程调度的基本过程,为学好多线程打好基础
简单了解操作系统 操作系统是一组专门做计算机资源管理的软件的统称。目前常见的操作系统有:Windows,Unix,Linux,OSX,Android,ios等。 管理什么: 管理下层的硬件设备---通
什么是happens-before原则?
前言 本文隶属于专栏《100个问题搞定Java虚拟机》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 正文 线程内的happens-before 在同一个线程中,字节码的
AQS思想
什么是AQS AQS ( Abstract Queued Synchronizer )是一个抽象的队列同步器,通过维护一个共享资源状态( Volatile Int State )和一个先进先出( FI
java中volatile关键字
volatile 什么是volatile volatile是java虚拟机提供的轻量级同步机制 作用 1.可见性: 当一个线程修改了volatile修饰的变量的值,其他线程可以立即看到这个修改,保
【Java】有 A、B、C 三个线程,如何保证三个线程同时执行?在并发情况下,如何保证三个线程依次执行?如何保证三个线程有序交错执行?
Q1:有 A、B、C 三个线程,如何保证三个线程同时执行? 保证线程同时执行可以用于并发测试。可以使用倒计时锁CountDownLatch实现让三个线程同时执行。代码如下所示: 打印内容如下,通过时间