![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发编程
文章平均质量分 95
王胖泽
这个作者很懒,什么都没留下…
展开
-
<并发编程>学习笔记------(三)并发设计模式
Immutability模式:如何利用不变性解决并发问题?多个线程同时读写同一共享变量存在并发问题如果只有读,而没有写,是没有并发问题的解决并发问题,其实最简单的办法就是让共享变量只有读操作,而没有写操作不变性(Immutability)模式。所谓不变性,简单来讲,就是对象一旦被创建之后,状态就不再发生变化变量一旦被赋值,就不允许修改了(没有写操作);没有修改操作,也就是保持了不变性快速实现具备不可变性的类将一个类所有的属性都设置成 final 的,并且只允许存在只读方法,那么这个类基本上就原创 2021-08-02 16:10:58 · 143 阅读 · 0 评论 -
<并发编程>学习笔记------(二) 并发工具类
Lock和Condition(上):隐藏在并发包中的管程Java SDK 并发包通过 Lock 和 Condition 两个接口来实现管程,其中 Lock 用于解决互斥问题,Condition 用于解决同步问题Java 语言本身提供的 synchronized 也是管程的一种实现再造管程的理由JDK 1.5 -> JDK 1.6 的性能问题 ×死锁问题, 破坏不可抢占条件方案, 占用部分资源的线程进一步申请其他资源时,如果申请不到,可以主动释放它占有的资源但是synchronized原创 2021-06-25 20:48:14 · 304 阅读 · 1 评论 -
<并发编程>学习笔记------(一) 并发相关理论
前面并发编程可以总结为三个核心问题:分工指的是如何高效地拆解任务并分配给线程同步指的是线程之间如何协作互斥则是保证同一时刻只允许一个线程访问共享资源并发相关理论可见性、原子性和有序性核心矛盾CPU、内存、I/O 设备的速度差异cpu >>> 内存 >>> I/O 设备CPU 增加了缓存,以均衡与内存的速度差异操作系统增加了进程、线程,以分时复用 CPU,进而均衡 CPU 与 I/O 设备的速度差异编译程序优化指令执行次序,使得缓存能够得到更加合原创 2021-06-15 10:31:42 · 1818 阅读 · 5 评论