
JUC系列
文章平均质量分 61
JUC系列
YYAugenstern
大佬都是日积月累的勤学苦练造就的!在通往大佬的路上欢迎各位朋友 点赞 + 关注 + 评论 + 转发 + 收藏!让我们每天进步一点点,用代码改变世界,改变自己和家人的生活,为推动信息化社会进步贡献一份自己的绵薄之力!路漫漫其修远兮,唯有脚踏实地,勇往之前才能到达心中的彼岸。加油,每天进步一点点,终有一天你会成为你想成为的人。
展开
-
系列十四、异步回调
【代码】系列十四、异步回调。原创 2023-11-21 10:53:43 · 89 阅读 · 0 评论 -
系列十三、分支合并框架
Fork:把一个复杂任务进行分拆,大事化小,Join:把分拆任务的结果进行合并。原创 2023-11-21 10:41:00 · 76 阅读 · 0 评论 -
系列十二、线程池
等待队列已经排满了,再也塞不下新任务了,同时,线程池中的max线程也达到了,无法继续为新任务服务,这个是时候我们就需要拒绝策略机制合理的处理这个问题。/*** @Author : 一叶浮萍归大海* @Description: 一个银行网点有10个业务办理窗口,周末业务不繁忙开2个窗口,业务办理等待区最大能容纳20个人,模拟30个人去银行网点办理业务,使用线程池处理*/10,2L,// 30个顾客请求try {i原创 2023-11-21 09:41:48 · 80 阅读 · 0 评论 -
系列十一、阻塞队列
由数组结构组成的有界阻塞队列。由链表结构组成的有界(但大小默认值为integer.MAX_VALUE)阻塞队列。2.4.3、支持优先级排序的无界阻塞队列。使用优先级队列实现的延迟无界阻塞队列。不存储元素的阻塞队列,也即单个元素的队列。由链表组成的无界阻塞队列。Deque由链表组成的双向阻塞队列。原创 2023-11-20 19:39:56 · 85 阅读 · 0 评论 -
系列十、ReentrantReadWriteLock
ReentrantReadWriteLock是ReadWriteLock的一个子类,具有读锁和写锁的双重功能,通常用于做缓存。原创 2023-11-20 18:09:08 · 106 阅读 · 0 评论 -
系列九、JUC强大的辅助类
CyclicBarrier的字面意思是可循环(Cyclic)使用的屏障(Barrier)。它要做的事情是,当一组线程到达一个屏障(也可以叫同步点)时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续干活;线程进入屏障通过CyclicBarrier的await()方法;Semaphore的中文意思是信号量,主要功能有2个,即:(1)用于多个共享资源的互斥使用;(2)用于并发线程数的控制;原创 2023-11-20 17:54:57 · 167 阅读 · 0 评论 -
系列八、Callable接口
未来的任务,用它干一件事,异步调用。main方法就像一个糖葫芦,一个个方法由main串起来。问题:解决不了正常调用挂起引起的堵塞问题。案例:(1)老师上着课,口渴了,去买水不合适,讲课线程继续,我可以单起个线程找班长帮忙买水,水买回来了放桌上,我需要的时候再去get;(2)4个同学,A计算1+20、B计算21+30、C计算31*到40、D计算41+50,是不是C的计算量有点大啊,FutureTask单起个线程给C计算,我先汇总ABD,最后等C计算完了再汇总C,拿到最终结果;原创 2023-11-20 17:26:52 · 91 阅读 · 0 评论 -
系列七、线程8锁
synchronized实现同步的基础:Java中的每一个对象都可以作为锁具体表现为以下3种形式。对于普通同步方法,锁是当前实例对象。对于静态同步方法,锁是当前类的Class对象。对于同步方法块,锁是synchonized括号里配置的对象当一个线程试图访问同步代码块时,它首先必须得到锁,退出或抛出异常时必须释放锁。原创 2023-11-20 15:38:05 · 639 阅读 · 0 评论 -
系列六、多线程集合不安全
【代码】系列六、多线程集合不安全。原创 2023-11-20 14:00:45 · 1049 阅读 · 0 评论 -
系列五、线程间通信
原理:中断和虚假唤醒是由可能产生的,所以要用loob循环,if只判断一次,while是只要唤醒就要拉回来再判断一次,if换成while即可解决虚假唤醒的问题。* 说明:2个线程使用if判断变量的值,没有问题,3个及3个以上线程会出现虚假唤醒的问题,需要注意!* @Author : 一叶浮萍归大海。* @Description: 资源类。* 解决方法:使用while做判断条件。原创 2023-11-20 12:30:20 · 200 阅读 · 0 评论 -
系列四、Java8的Lambda表达式
Java8的Lambda表达式原创 2023-11-20 10:39:52 · 90 阅读 · 0 评论 -
系列三、创建线程的方式
【代码】系列三、创建线程的方式。原创 2023-11-20 10:09:21 · 92 阅读 · 0 评论 -
系列二、Lock接口
3.1.2、SaleTicketSynchronizedMainApp3.1.3、结果3.2.2、SaleTicketLockMainApp3.2.3、结果原创 2023-11-20 09:28:07 · 221 阅读 · 0 评论 -
系列一、JUC概述
进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。通常在一个进程中可以包含若干个线程,一个进程中至少有一个线程,不然没有存在的意义。线程可以利用进程所拥有的资源,在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位,由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效的提高系统多个程序间并发执行的程度。原创 2023-11-20 08:35:39 · 108 阅读 · 0 评论