![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发编程
文章平均质量分 96
梵高Coding
这个作者很懒,什么都没留下…
展开
-
并发编程(7)共享模型之JUC
9 J.U.C9.1 AQS原理9.1.1 概述全称是 AbstractQueuedSynchronizer,是阻塞式锁和相关的同步器工具的框架特点:用 state 属性来表示资源的状态(分独占模式和共享模式),子类需要定义如何维护这个状态,控制如何获取锁和释放锁getState - 获取 state 状态setState - 设置 state 状态compareAndSetState - cas 机制设置 state 状态独占模式是只有一个线程能够访问资源,而共享模式原创 2024-02-28 19:11:13 · 943 阅读 · 0 评论 -
并发编程(6)共享模型之线程池
/ 1. 任务队列// 2. 锁// 3. 生产者条件变量// 4. 消费者条件变量// 5. 容量log.info("构造BlockingQueue");// 带超时阻塞获取try {// 将 timeout 统一转换为 纳秒try {// 返回值是剩余时间return t;// 阻塞获取try {try {return t;// 阻塞添加try {try {原创 2024-02-28 19:10:28 · 1000 阅读 · 0 评论 -
并发编程(5)共享模型之不可变
定义英文名称:Flyweight pattern. 当需要重用数量有限的同一类对象时 .flyweight是一种通过与其他类似对象共享尽可能多的数据来最小化内存使用的对象出自归类例如:一个线上商城应用,QPS 达到数千,如果每次都重新创建和关闭数据库连接,性能会受到极大影响。这时预先创建好一批连接,放入连接池。一次请求到达后,从连接池获取连接,使用完毕后再还回连接池,这样既节约了连接的创建和关闭时间,也实现了连接的重用,不至于让庞大的连接数压垮数据库。// 1. 连接池大小。原创 2024-02-24 23:41:30 · 926 阅读 · 0 评论 -
并发编程(4)共享模型之无锁
Unsafe 对象提供了非常底层的,操作内存、线程的方法,Unsafe 对象不能直接调用,只能通过反射获得static {try {原创 2024-02-24 21:15:10 · 1060 阅读 · 0 评论 -
并发编程(3)共享模型之内存
Balking (犹豫)模式用在一个线程发现另一个线程或本线程已经做了某一件相同的事,那么本线程就无需再做了,直接结束返回。原创 2024-02-23 16:49:02 · 326 阅读 · 1 评论 -
并发编程(2)共享模型之管程
4 共享模型之管程本章内容共享问题synchronized线程安全分析Monitorwait/notify线程状态转换活跃性Lock4.1 共享带来的问题4.1.1 小故事老王(操作系统)有一个功能强大的算盘(CPU),现在想把它租出去,赚一点外快小南、小女(线程)来使用这个算盘来进行一些计算,并按照时间给老王支付费用但小南不能一天24小时使用算盘,他经常要小憩一会(sleep),又或是去吃饭上厕所(阻塞 io 操作),有时还需要一根烟,没烟时思路全无(wait原创 2024-02-22 23:13:29 · 525 阅读 · 0 评论 -
并发编程(1)线程
这门课中的【并发】一词涵盖了在 Java 平台上的以及 Java 并发工具、并发问题以及解决方案,同时也会讲解一些其它领域的并发。原创 2024-02-16 22:24:05 · 1048 阅读 · 0 评论