多线程
文章平均质量分 85
陈亦康
25届学生,热爱全栈,擅长后端开发,曾就职于滴滴、用友、堆糖. 欢迎加群交流(QQ):1002337860
展开
-
多线程 - Thread 使用、线程状态、 CompletableFuture 异步编排
Ps:创建线程的时候,给线程起个名字还是很有必要的,目的就是为了方便程序员调试,一旦出问题,方便找到对应的代码,如果不手动起名,JVM 默认会起名为 thread-0、thread-1......操作系统管理这些线程的 PCB 的时候,是有多个链表的,调用了sleep ,就会把 PCB 移动另外一个“阻塞队列”(原先在“就绪队列”),当 sleep 时间到了 ,就会被移动到之前的就绪队列。Ps:直接调用 run 并不会创建线程,只是运行线程中的代码,调用 start 方法,才是创建了线程。原创 2023-04-27 21:09:37 · 1171 阅读 · 0 评论 -
Java创建线程的七种方法,全网最全面总结~
属于基础的面试问题,一定要能够回答全哦~原创 2023-02-03 07:00:00 · 26481 阅读 · 2 评论 -
线程死锁的成因?如何查找并定位死锁,解决死锁?这里教你几招~
死锁就是指线程t1要使用的资源被线程t2占用,线程t2想使用的资源被线程 t1占用,这就像两股绳子拧在一起,解不开了;原创 2022-09-27 00:30:30 · 1727 阅读 · 2 评论 -
谈谈synchronized 和 ReentrantLock 的区别?
synchronized和ReentrantLock都是Java中的可重入锁;原创 2022-09-26 22:49:22 · 867 阅读 · 0 评论 -
深入理解synchronized背后的原理
synchronized产生的效果实际上就是加锁,并且当两个线程对相同对象加锁的时候,就会出现锁竞争,那对锁的线程就会对其进行加锁,没拿到锁的对象就会进行阻塞等待,直到拿到锁的线程释放锁;若当前程序,锁竞争十分激烈,那么 synchronized就是以重量级锁的状态来进行工作的,也就是挂起等待,涉及到用户态与内核态的切换,但是节省了CPU的开销;总结:没有竞争的时候——偏向锁;若当前程序,锁竞争不激烈,那么synchronized就是以轻量级锁的状态来工作的,也就是纯用户态的“自旋”,可以第一时间拿到锁;原创 2022-09-25 22:32:14 · 611 阅读 · 0 评论 -
理解这些常见锁策略,恭喜你,又进阶了~
具体介绍,上面已经很清楚了,忘了的话,记得往上翻翻;问道为什么要使用自旋策略,实际上就是再问你,自旋锁的优点是什么,最好把缺点也说一下,面试官一天要面试很多人,而面试官实际上和你是站在一方的,就是一个让你展现自我的地方,所以,面试官自然是希望多说点你了解的。原创 2022-09-21 20:14:00 · 1360 阅读 · 3 评论 -
ThreadPoolExecutor 最全讲解、四种常用线程池使用
了解线程池之前,你有哪些熟知的线程池有哪些呢?String(字符串常量池),MySQL JDBC,数据库连接池(DataSource);通过对他们的了解,大概知道了出现池的主要目的——减少不必要的开销,提高效率;为什么出现了线程池呢?线程出现的目的是因为进程太重量级了,导致创建线程或者销毁进程效率很低,而线程就是为了资源共享,新的线程复用之前的资源,就提高了效率,但是如果线程创建/销毁 的速率非常高,那么线程的创建/销毁带来的开销就是不可忽略的;线程池的基本原理是什么?原创 2022-09-20 17:26:15 · 1713 阅读 · 1 评论 -
【多线程】详解——模拟设计Timer(结尾附码源)
在服务器开放中,客户端向服务器发送请求,等待服务器响应,但若因为某个故障,导致程序一直无响应,怎么办?这时总不可能让客户端一直都没有响应,一直等下去,很有可能程序就卡死了,所以为了应对此种情况,程序员就设置了一个定时器,若到在定时器规定的时间没有完成任务,会执行某一个动作,响应客户端;原创 2022-09-19 14:18:18 · 942 阅读 · 1 评论 -
一文带你深入理解——锁的可重入性
简而言之,一个线程,连续针对一把锁,连续加锁两次或以上,就有可能出现两种情况,一种是产生死锁,这样的锁叫做“不可重入锁”,另一种是不会产生死锁,这个锁叫做“可重入锁”;一个有趣的比方,假如,你是八路军~ 的一个秘密的电报员,在入敌深处,建立了一个隐蔽的房间专门给组织发送机密电报;这次你又发现了重要敌情,准备给组织发送情报,那么这么重要的事肯定不能敞开天窗大门来干,于是呢,你关上大门,为了防止闲杂人等误入,你就给门上了锁...发送完情报,忽然发现门外有很多日军在闲逛!!!原创 2022-09-08 23:47:29 · 1339 阅读 · 0 评论 -
引发线程安全的原因是什么?怎么解决?程序员一定要掌握的东西
本篇围绕理解引发线程安全的原因以及如何解决;原创 2022-09-07 10:56:01 · 2698 阅读 · 0 评论