并发编程
文章平均质量分 54
并发编程是一种处理多个任务同时执行的技术,通过合理地利用系统资源,可以提高程序的效率和性能。
lichongxyz
活到老,学到老,每天进步一点点
展开
-
什么是线程死锁
resource1、resource2 的监视器锁的占用,线程 2 获取到就可以执行了。线程 1 首先获得到 resource1 的监视器锁,这时候线程 2 就获取不到了。线程 1 再去获取 resource2 的监视器锁,可以获取到。占用部分资源的线程进一步申请其他资源时,如果申请不到,可以主动释放它占 有的资源。按某一顺序申请资源,释放资源则反序释放。如下图所示,线程 A 持有资源 2,线程 B 持有资源 1,他们同时都想申请对方。获取对方的资源,然后这两个线程就会陷入互相等待的状态,这也就产生了死。原创 2024-01-25 11:07:48 · 405 阅读 · 0 评论 -
守护线程和用户线程有什么区别
因为我们上面也说过了一旦所有用户线程都结束运行,守 护线程会随 JVM 一起结束工作,所以守护 (Daemon) 线程中的 finally 语 句块可能无法被执行。守护线程(Daemon Thread)和用户线程(User Thread)是并发编程中常用的两种线程类型,它们在行为和生命周期管理上有一些区别。main 函数所在的线程就是一个用户线程啊,main 函数启动的同时在 JVM 内部 同时还启动了好多守护线程,比如垃圾回收线程。2. 在守护线程中产生的新线程也是守护线程。方法前执行,否则会抛出。原创 2024-01-25 10:06:48 · 465 阅读 · 0 评论 -
面试官:谈谈你对并发编程的理解?
JDK Atomic开头的原子类、synchronized、LOCK,可以解决原子性问题。并发:多个任务在同一个 CPU 核上,按细分的时间片轮流(交替)执行,从逻辑。并发编程的目的就是为了能提高程序的执行效率,提高程序运行速度,但是并发。编程并不总是能提高程序运行速度的,而且并发编程可能会遇到很多问题,比如。级的并发量,而多线程并发编程正是开发高并发系统的基础,利用好多线。充分利用多核CPU的计算能力:通过并发编程的形式可以将多核CPU。方便进行业务拆分,提升系统并发能力和性能:在特殊的业务场景。原创 2024-01-25 09:41:03 · 616 阅读 · 0 评论