wb.ouyang

毕竟几人真得鹿,不知终日梦为鱼

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

随笔分类 -  多线程

什么是ABA问题
摘要:1、ABA问题描述 在多线程场景下CAS会出现ABA问题,关于ABA问题这里简单科普下,例如有2个线程同时对同一个值(初始值为A)进行CAS操作,这三个线程如下: 线程1,期望值为A,欲更新的值为B 线程2,期望值为A,欲更新的值为B 线程1抢先获得CPU时间片,而线程2因为其他原因阻塞了,线程1取 阅读全文

posted @ 2021-09-07 15:03 wenbin_ouyang 阅读(899) 评论(0) 推荐(0) 编辑

Java JUC(java.util.concurrent工具包)
摘要:目录: 1、volatile 关键字与内存可见性2、原子变量与 CAS 算法3、同步容器类4、闭锁 CountDownLatch5、使用 Callable 创建线程6、Lock 同步锁7、生产者消费者案例--虚假等待8、线程按序交替执行9、读写锁 ReadWriteLock10、线程八锁11、线程池 阅读全文

posted @ 2020-05-05 19:28 wenbin_ouyang 阅读(393) 评论(0) 推荐(0) 编辑

多线程总结2之volatile和synchronized(转)
摘要:本文转自 http://www.jasongj.com/java/thread_safe/ 一、多线程编程中的三个核心概念 本篇文章将从这三个问题出发,结合实例详解volatile如何保证可见性及一定程序上保证顺序性,同时例讲synchronized如何同时保证可见性和原子性,最后对比volatil 阅读全文

posted @ 2019-03-06 00:38 wenbin_ouyang 阅读(289) 评论(0) 推荐(0) 编辑

线程池总结
摘要:一、为什么使用线程池 1)提高性能:系统启动一个新线程的成本是比较高的,而使用线程池避免了频繁地创建和销毁线程,可以很好地提高性能。线程池里的线程结束后并不会死亡,而是回到线程池中称为空闲线程,等待使用; 2)控制线程数量:使用线程池还可以有效地控制系统中并发线程的数量,当系统中包含大量并发线程时, 阅读全文

posted @ 2019-03-03 17:29 wenbin_ouyang 阅读(156) 评论(0) 推荐(0) 编辑

多线程总结1
摘要:一、对多线程的理解 1.进程和线程 程序是指令和数据的有序集合,本身没有任何运行的含义,是一个静态的概念。几乎所有的操作系统都支持同时运行多个任务,一个任务通常就是一个程序,每个运行中的程序就是一个进程。当一个程序运行时,内部可能包含了多个顺序执行流,每个顺序执行流就是一个线程。一个程序只有一个进程 阅读全文

posted @ 2019-03-03 15:12 wenbin_ouyang 阅读(127) 评论(0) 推荐(0) 编辑

java多线程wait()方法必须放在while循环里面的原因探析
摘要:1、写一个包子生产消费案例:一次生产或消费一个包子,有包子就消费,没有就生产。 1.1 写一个Baozi.class,包含main()方法,用来测试 package com.oy.demo3; /* * 包子生产消费案例:一次生产或消费一个包子,有包子就消费,没有就生产。 */ public cla 阅读全文

posted @ 2019-03-02 22:53 wenbin_ouyang 阅读(3449) 评论(0) 推荐(1) 编辑

线程的生命周期和线程的状态转换图
摘要:一、线程的生命周期 1、线程的5种状态:新建(New),就绪(Runnable),运行(Running),阻塞(Blocked),死亡(Dead) 2、线程的生命周期图解:(参考传智播客刘意2015Java基础视频讲义) 二、线程的状态转换图 1、线程的5种状态:新建(New),就绪(Runnabl 阅读全文

posted @ 2019-03-02 15:48 wenbin_ouyang 阅读(5664) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示