并发编程艺术笔记
文章平均质量分 82
viskaz
这个作者很懒,什么都没留下…
展开
-
第4章 Java并发编程
第4章 Java并发编程 4.1 线程简介 4.1.1 什么是线程 现代操作系统调度的最小单元是线程,也叫轻量级进程(Light Weight Process) 在一个进程里可以创建多个线程,这些线程都拥有各自的计数器、堆栈和局部变量等属性,并且能够访问共享的内存变量。 处理器在这些线程上高速切换,让使用者感觉到这些线程在同时执行。 4.1.2 为什么要使用多线程 (1)更多的处理器核心 (2)更快的响应时间 (3)更好的编程模型 4.1.3 线程优先级 可以通过setPriority(int)方法来修翻译 2021-02-21 14:33:55 · 124 阅读 · 0 评论 -
第2章 Java并发机制的底层实现原理
第2章 Java并发机制的底层实现原理 Java中所使用的并发机制依赖于JVM的实现和CPU的指令。 2.1 volatile 的应用 2.1.1 volatile的定义和优化 volatile是轻量级的sychronized, 保证了共享变量的可见性,如果一个字段被声明成volatile,Java线程内存 模型确保所有线程看到这个变量的值是一致的 实现原理: 有volatile变量修饰符的共享变量进行写操作的时候会多出一个lock前缀的指令 lock前缀的指令在多核处理器中引发两件事情 (1)将当前处理器翻译 2021-02-18 12:37:29 · 87 阅读 · 0 评论 -
第1章 并发编程的挑战
第1章 并发编程的挑战 1.1 上下文切换 概念:当前任务执行一个时间片后会切换到下一个 任务。但是,在切换前会保存上一个任务的状态,以便下次切换回这个任务时,可以再加载这个任务的状态。任务从保存到再加载的过程就是一次上下文切换 1.1.1 多线程一定快么 不一定,上下文切换也会造成时间的开销 1.1.2 测试上下文切换次数和时长 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-diYHpzDA-1613562634500)(evernotecid://FBA5B25E-AD4翻译 2021-02-17 19:51:44 · 80 阅读 · 0 评论