Java并发编程
小云
研究方向:机器学习和数据挖掘
展开
-
this逃逸
作用: 在构造函数返回之前其他线程就持有该对象的引用. 调用尚未构造完全的对象的方法可能引发令人疑惑的错误, 因此应该避免this逃逸的发生. 使用: this逃逸经常发生在构造函数中启动线程或注册监听器时, 如: public class ThisEscape { public ThisEscape() { new Thread(new EscapeRunnable转载 2015-04-21 10:54:02 · 424 阅读 · 0 评论 -
ThreadLocal使用
作用: 这个类能使线程中某个值与保存值的对象关联起来。 使用: 1:当某个频繁执行的操作需要一个临时对象,例如一个缓冲区,而同时又希望避免在每次执行时都重新分配该对象,就可以使用这个技术 2:将一个单线程应用程序移植到多线程环境中,通过将共享的全局变量转换为ThreadLocal对象,可以维持线程安全性。原创 2015-04-21 10:38:20 · 404 阅读 · 0 评论 -
volatile变量
Java语言提供了一种稍弱的同步机制:volatile变量 作用: 1:当把变量声明为volatile类型后,编译器与运行时都会注意到这个变量是共享的,因此不会将该变量上的操作与其他内存操作一起重排序。 2:volatile变量不会被缓存在寄存器或者对其他处理器不可见的地方 常见应用: 数绵羊: volatile boolean asleep; ... while (!aslee原创 2015-04-17 20:07:21 · 386 阅读 · 0 评论