并发
vivizhyy
少壮不努力,老大学 IT
展开
-
Java 并发之共享对象
上一篇文章说的是,避免多个线程在同一时间访问对象中的同一数据,这篇文章来详细说说共享和发布对象。 在没有同步的情况下,我们无法预料编译器、处理器安排操作执行的顺序,经常会发生以为“一定会”发生的动作实际上没有发生。可以用一些简单的方法来避免这个问题。 在 Java 中,如果不是64位版本的,JVM 会把 double 或者 long 的读和写划分在两个 32 位中,这样一来,在多线程中,原创 2013-10-10 11:14:08 · 648 阅读 · 0 评论 -
Java 并发之线程安全
写线程安全的代码,说白了就是管理一个类的共享的、可变的状态。只要有多于 1 个线程对类的状态进行写入,那么就必须用同步来协调这多个线程对状态的访问。对于一个没有状态的类来说(简单的理解就是只有方法没有成员变量,不储存值),它永远都是安全的。而对于有状态的类来说,就要保持其原子性来保证安全。 在多线程环境下,一种可能的风险就是 check-then-act (竞争条件的一种),就是 chec原创 2013-10-10 11:14:03 · 624 阅读 · 0 评论