
并发编程
小之丶
用激情诠释生活,用代码彰显个性
公众号:WeaponZhi
GitHub地址:https://github.com/WeaponZhi
展开
-
并发编程笔记(一):并发编程的挑战和解决方案
并发系列的文章都是根据阅读《Java 并发编程的艺术》这本书总结而来,想更深入学习的同学可以自行购买此书进行学习。并发编程的目的是为了让程序运行的更快,但是启动更多的线程不一定会让程序能够最大程度的并发执行,甚至有时候,并发比串行还要慢。在使用并发编程的时候,会面临许多挑战。上下文切换单核处理器也是可以支持多线程执行代码的。CPU通过分配时间片来实现这个机制。时间片是 CPU 分配给各个线程的时间原创 2017-05-25 16:52:55 · 423 阅读 · 0 评论 -
并发编程笔记(二):Java 并发机制的底层实现原理
并发系列的文章都是根据阅读《Java 并发编程的艺术》这本书总结而来,想更深入学习的同学可以自行购买此书进行学习。Java 代码在编译后会变成 Java 字节码,通过类加载器加载到 JVM 里,JVM 执行字节码,最终需要转化为汇编指令在 CPU 上执行,Java 中所使用的并发机制依赖于 JVM 的实现和 CPU 的指令。volatilevolatile 在并发编程中扮演着重要的角色。volat原创 2017-06-02 14:20:21 · 907 阅读 · 0 评论 -
并发编程笔记(三):Java 内存模型(二)
并发系列的文章都是根据阅读《Java 并发编程的艺术》这本书总结而来,想更深入学习的同学可以自行购买此书进行学习。一 锁的内存语义众所周知,锁可以让临界区互斥执行。但锁的另一个同样重要的功能却常常被大家忽略:锁的内存语义。1. 锁的释放 - 获取建立的 happens-before 关系锁是 Java 并发编程中最重要的同步机制。锁除了可以让临界区互斥外,还可以让释放锁的线程向获取同一个锁的线程原创 2017-06-19 09:48:43 · 363 阅读 · 0 评论 -
并发编程笔记(三):Java 内存模型(一)
并发系列的文章都是根据阅读《Java 并发编程的艺术》这本书总结而来,想更深入学习的同学可以自行购买此书进行学习。Java 线程之间的通信对程序员完全透明,内存可见性问题很容易困扰 Java 程序员。让我们来通过下文来揭开 Java 内存模型神秘的面纱。一 Java 内存模型基础1. 并发编程模型的两个关键问题并发编程中需要处理两个关键问题:线程之间如何通信和线程之间如何同步。在命令式编程中,线程原创 2017-06-07 16:43:51 · 492 阅读 · 0 评论