java高并发相关知识
文章平均质量分 53
Mr_yaodefine
这个作者很懒,什么都没留下…
展开
-
Happen-Before规则
1、程序顺序原则:一个线程内保证语义的串行性eg:a = 1;b = a+1;2、volatile规则:volatile变量的写,先发生于读,这保证了volatile变量的可见性3、锁规则:解锁(unlock)必然发生在随后的加锁(lock)前4、传递性:A先于B,B先于C,那么A必然先于C5、线程的start()方法先于它的每一个动作6、线程的所有操作先于线程的终原创 2017-09-25 10:25:57 · 219 阅读 · 0 评论 -
自定义线程安全的队列
自定义线程安全的队列 /** * 2.使用 wait notify 实现一个队列,队列有2个方法, * add 和 get 。add方法往队列中添加元素,get方法往队列中获得元素。 * 队列必须是线程安全的。如果get执行时,队列为空,线程必须阻塞等待,直到有队列有数据。 * 如果add时,队列已经满,则add线程要等待,直到队列有空闲空间。 */原创 2017-09-18 10:58:23 · 743 阅读 · 0 评论 -
阿姆达尔定律以及古斯塔夫森定律干货
阿姆达尔定律 Amdahl加速比定义:加速比 = 优化前系统耗时/优化后系统耗时Tn = T1(F+1/n(1-F))F串行比例 1-F 并行比例n处理器个数加速比 = T1/Tn 优化前耗时/优化后耗时1/(F+1/n(1-F))结论:增加CPU数量并不一定能起到有效的作用,提高系统内可并行的模块比重,合理增加并行处理器数量,才能以最小的投入,得到最大的加速比原创 2017-09-11 10:33:50 · 1505 阅读 · 0 评论