java并发编程
文章平均质量分 73
java并发编程
轻浮j
这个作者很懒,什么都没留下…
展开
-
volatile关键字的作用以及底层原理
volatile关键字的作用以及底层原理原创 2024-09-27 20:29:46 · 294 阅读 · 0 评论 -
并发工具类:Semaphore、CountDownLatch、CyclicBarrier的作用以及用法
并发工具类:Semaphore、CountDownLatch、CyclicBarrier的作用以及用法原创 2024-09-24 20:08:13 · 956 阅读 · 0 评论 -
死锁的产生原因以及解决方案
上图中线程一占有线程二所需的A资源,而线程二占有线程一所需的B资源,导致它们陷入了无限等待,我们使用jps命令和jstack查看线程状态。线程开始运行之后只有在运行完毕才会主动释放资源,不会被其他线程所剥夺。我们发现线程一和线程二都进入了BLOCKED状态,并且产生了死锁。死锁是由于多个线程相互占用各自所需的资源,导致它们无限等待。当线程因为获取不到资源被堵塞时,对以获得的资源保持不放。进一步申请所需资源,如果申请不到,释放已占用的资源。按序申请资源,按照反序释放资源。原创 2024-09-22 18:42:07 · 535 阅读 · 0 评论 -
为什么要使用线程池?线程池的创建、核心参数以及工作原理
服务器开发经常需要接收到客户端的任务,而这些任务可能需要极短时间就可以完成,如果一个任务需要创建一个线程,那么对于成千上万个简单任务,就需要创建上万个线程,显然这是不可能的,线程的创建和销毁都会浪费系统的性能。而线程池可以解决这个问题,我们预先创建几个线程,当任务到达时,使用已创建的线程不仅可以减少线程创建带来的消耗,还可以提高任务的响应效率,设置的最大线程数量以及线程的停留时间,还可以避免线程无限的创建。原创 2024-09-22 18:12:46 · 434 阅读 · 0 评论 -
线程的四种创建方式以及线程池的核心参数和工作原理
线程的四种创建方式以及线程池的核心参数和工作原理原创 2024-09-19 19:07:58 · 650 阅读 · 0 评论