
JUC
文章平均质量分 97
naumy
这个作者很懒,什么都没留下…
展开
-
并发编程(JUC)
并发编程的目的是为了让程序运行得更快,但是,并不是启动更多的线程就能让程序最大限度地并发执行。在进行并发编程时,如果希望通过多线程执行任务让程序运行得更快,会面临非常多的挑战,比如上下文切换的问题、死锁的问题,以及受限于硬件和软件的资源限制问题。this.wait()会释放锁this.notifyAll()自旋(while)一下就不会虚假唤醒Lock lock = new ReentrantLock()Condition condition = lock.newCondition()condition.aw原创 2024-09-29 15:10:49 · 1165 阅读 · 0 评论 -
Java线程池
文章目录Java线程池1.使用线程池的优势2.线程池的七大参数 Java线程池 1.使用线程池的优势 线程池做的工作主要是控制运行的线程的数量,处理过程中将任务加入队列,然后在线程创建后启动这些任务,如果超过了最大数量,超出的数量的线程排队等候,等其他线程执行完毕,再从队列中取出任务来执行. 他的主要特点为:线程复用:控制最大并发数:管理线程. 第一: 降低资源消耗.通过重复利用自己创建的线程降低线程创建和销毁造成的消耗. 第二: 提高响应速度.当任务到达时,任务可以不需要等到线程和粗昂就爱你就能立即执行原创 2020-12-07 11:16:27 · 117 阅读 · 0 评论 -
Java中的Lambda表达式
Java中的Lamda表达式 package com.wyw; /** * 接口 */ @FunctionalInterface interface Foo { //public void sayHello(); public int add(int x, int y); default int mul(int x,int y) { return x * y; } public static int div(int x,int y) {原创 2020-11-22 23:24:18 · 166 阅读 · 0 评论 -
死锁编码与定位分析
死锁编码与定位分析 文章目录死锁编码与定位分析1.理论2.代码验证:3.查找死锁故障: 1.理论 死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相符待的现象,岩无外力干涉那它们都将无法推进下去。 如果系统资源充足,过程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。 产生死锁的主要原因: 1.系统资源不足 2.进程运行推进的顺序不合适 3.资源分配不当 2.代码验证: package test; import java.util.concurre原创 2020-09-19 23:35:04 · 143 阅读 · 0 评论 -
Java中的锁
Java中的锁 文章目录Java中的锁1.公平锁和非公平锁2.可重入锁(递归锁) 1.公平锁和非公平锁 public class test02 { public static void main(String[] args) { lock lock = new ReentrantLock(); } } 源码: /** * Creates an instance of {@code ReentrantLock}. * This is equivalent原创 2020-09-18 23:51:41 · 228 阅读 · 0 评论 -
集合类不安全问题
集合类不安全问题 1.ArrayList是线程不安全的 单线程下ArrayList是线程安全的 public class test01 { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("a"); list.add("b"); list.add("c"); for原创 2020-09-16 09:58:28 · 167 阅读 · 0 评论