java并发编程 第三节 对象的共享
2012-07-09 23:37
295 查看
可见性:单线程对某个变量进行赋值或者写入,读取此变量,其表现出的行为时完全正常的
多线程的话,那就会出现各种有趣的结果
重排序:
在没有同步的情况下,编译器、处理器以及运行时等都可能对操作的执行顺序进行一些意想不到的调整。在缺乏足够同步的多线程程序中,要想对内存操作的执行顺序进行判断,几乎无法得出正确的结论。
非原子的64位操作
多线程的话,那就会出现各种有趣的结果
public class NoVisibility{ private static boolean ready; private static int number; private static class ReaderThread extends Thread{ public void run(){ while(!ready) Thread.yield(); System.out.printIn()number; } } public static void main(String[] args) { new ReaderThread().start(); number = 42; ready = true; } }
重排序:
在没有同步的情况下,编译器、处理器以及运行时等都可能对操作的执行顺序进行一些意想不到的调整。在缺乏足够同步的多线程程序中,要想对内存操作的执行顺序进行判断,几乎无法得出正确的结论。
非原子的64位操作
相关文章推荐
- [Java并发编程实战] 对象的共享
- Java并发编程实践-第三章-对象的共享
- java 并发编程实战 之 对象的共享
- Java 并发编程之对象的共享(二)
- java 并发编程---安全共享对象策略
- [Java 并发] Java并发编程实践 思维导图 - 第三章 对象的共享
- Java多线程编程(六)-并发编程原理(Java存储模型和共享对象)
- Java 并发编程之对象的共享
- Java并发编程之线程安全性和对象的的共享
- Java并发编程学习——对象的共享
- 【Java并发编程一】线程安全和共享对象
- java并发编程实战-对象的共享
- 【Java并发编程实践】线程安全性、对象的共享和对象的组合
- Java并发编程学习——《Java Concurrency in Practice》学习笔记 3.对象的共享
- (28)21.3.2 解决共享资源竞争---Java编程思想之并发笔记
- java多线程编程2--对象及变量的并发访问
- 【Java多线程编程核心技术】2.对象及变量的并发访问(下)-笔记总结
- JAVA 并发编程随笔【七】线程安全与共享资源
- Java 并发之共享对象
- java多线程与线程并发五:多个线程访问共享对象和数据的方式