文件名称:java乐器源码-concurrency:Java并发编程知识梳理以及常见处理模式featuresandpatterns
文件大小:2.3MB
文件格式:ZIP
更新时间:2024-06-25 06:57:37
系统开源
java乐器源码 内容整理自 相关工具类 1.序言及全览 学习并发的原因 硬件驱动 人才稀缺 并发编程解决的核心问题 分工(如何高效地拆解任务并分配给线程)Fork/Join 框架 同步(指的是线程之间如何协作)CountDownLatch 互斥(保证同一时刻只允许一个线程访问共享资源)可重入锁 如何学习 跳出来,看全景,站在模型角度看问题(避免盲人摸象) 例如:synchronized、wait()、notify()不过是操作系统领域里管程模型的一种实现而已 钻进去,看本质 探究 Doug Lea 大师在J.U.C 包创造的章法 知识体系全景图 2.抽象问题总结 并发程序的背后 CPU 增加了缓存,以均衡与内存的速度差异; 操作系统增加了进程、线程,以分时复用 CPU,进而均衡 CPU 与 I/O 设备的速度差异; 编译程序优化指令执行次序,使得缓存能够得到更加合理地利用。 缓存导致的可见性问题 一个线程对共享变量的修改,另外一个线程能够立刻看到,我们称为可见性 线程切换带来的原子性问题 一个或者多个操作在 CPU 执行的过程中不被中断的特性称为原子性 时间片概念 线程切换 ---〉
【文件预览】:
concurrency-master
----.gitignore(303B)
----README.md(26KB)
----pom.xml(2KB)
----src()
--------test()
--------main()
----media()
--------15604762340664()
--------15604803310321()
--------15603316282468()
--------concurrency.png(8KB)
--------15607632412286()
--------15603924776282()
--------15604993692307()
--------15607571303480()
--------15603298066863()
--------15608379390765()
----.travis.yml(102B)