摘要: 可见性关键字(volidate): 如果对java内存模型了解较清楚的话,我们知道每个线程都会被分配一个线程栈。 线程栈里存的是对象的引用,但当前cache缓存机制,可能会把数据拷贝。 就是,命中缓存,去数据是从cache中获取,而不是从本地内存读取。 不加关键字实例: java package c 阅读全文
posted @ 2019-01-27 17:08 零度微笑 阅读(2722) 评论(0) 推荐(0) 编辑
摘要: 同步关键字(synchronized): 多线程给我们提供方便的时候,也给整个编程增加了难度,尤其是对临界资源的控制,尤为重要。 一个在操作系统课上,老掉牙的事例,就把这种情况解释的明明白白。 一对夫妻共用一张银行卡,老公呢准备出去买盒烟,一查卡里还有10000元, 但在他买烟的同时,他媳妇一下子支 阅读全文
posted @ 2019-01-27 14:54 零度微笑 阅读(505) 评论(0) 推荐(0) 编辑
摘要: 等待和通知 Object对象提供了wait( ) 方法和 notify ( ) 方法。 wait( )方法需要配对着synchronized 关键字使用。 当一个线程的资源调用 wait( )方法时,它会失去锁,然后进入等待序列。 当其他线程调用notify方法时才会重新激活。 实例: 运行结果: 阅读全文
posted @ 2019-01-27 12:05 零度微笑 阅读(332) 评论(0) 推荐(0) 编辑