![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发
水月风情
这个作者很懒,什么都没留下…
展开
-
线程池配置合理线程数
第一种:CPU密集时 (该任务需要大量的运算) 线程数设置为 CPU核数 + 1个线程的线程池 第二种:①IO密集型(读取文件流 或者操作数据库比较频繁) 线程数设置为 CPU核数*2 ②某大厂生产环境得出的结论 线程数设置为 CPU核数/1-阻塞系数 阻塞系数在0.8~0.9之间 ,例:8核CPU:8/(1-0.9) = 80 线程数 ...原创 2019-10-14 19:28:22 · 245 阅读 · 0 评论 -
多线程之Single Threaded Execution 模式
创建三个类: 类名 说明 Main 创建一个门,让三个人不断的通过门 Gate 表示门的类,穿过一个人时记录名字和出生地 UserThread 表示人的类。人们不断通过门 public class Main { public static void main(String[] args) { System.out.print...原创 2019-03-23 11:50:58 · 223 阅读 · 0 评论 -
多线程之Immutable 模式
创建三个类 名字 说明 Person 表示人的类 Main 测试程序的类 PrintPersonThread 显示Person实例的线程的类 public class Main { public static void main(String[] args) { Person alice = new Person("Alic...原创 2019-03-23 14:45:55 · 138 阅读 · 0 评论 -
多线程之Guarded Suspension 模式
Guarded 是被守护,被保护的意思,Suspension 是暂停的意思。如果执行现在的处理会造成问题,就让执行处理的线程进行等待。 创建5个类 名字 说明 Request 表示一个请求的类 RequestQueue 依次存放请求的类 ClientThread 发送请求的类 ServerThrad 接受请求的类 Main ...原创 2019-03-23 17:11:58 · 814 阅读 · 0 评论 -
多线程之Balking 模式
Balk有拒绝,阻碍的意思。如果现在不适合执行这个操作,或者没必要执行这个操作,就停止处理,直接返回。这就是Balking模式。 Balking 模式可以和Guarded Suspension 模式对比,都存在守护条件。而在Balking模式中,如果守护条件不成立就立即中断处理,而Guarded Suspension 模式则是一直等待至可以运行。 创建4个类 名字 说明 Data ...原创 2019-04-02 11:00:33 · 178 阅读 · 0 评论 -
CAS(无锁算法)总结
CAS 是一条CPU并发原语。它的功能是判断内存某个位置的值是否为预期值,如果是则改为新值,否则重新循环去执行这个操作(自旋)这个过程是原子的。 CAS并发原语提现在java中sun.misc.Unsafe类中的各个方法。调用Unsafe类中的CAS方法,JVM会帮我们实现出CAS汇编指令。这是一种完全依赖于硬件的功能,通过它实现原子操作。CAS是由若干条指令组成,并且原语的执行必须是连续的,在...原创 2019-09-29 10:36:07 · 912 阅读 · 0 评论