并发
文章平均质量分 51
米斯特程序猿
爱生活,爱自己,爱家人,不抛弃,不放弃,敢冒险
展开
-
JAVA 并发与高并发知识笔记(一)
一、并发与高并发基本概念并发: 从业务上简单解释就是多个用户(编码层面就是多个线程)共同竞争(修改或读取)一个资源,并发问题更多体现在业务代码操作数据上,例如:秒杀场景,瞬间会有大量用户共同抢购一个商品,这时候如果没有并发控制,则极有可能出现超卖情况,即库存被扣成了负数。 从操作系统以及硬件层面解释并发:有多个线程运行在CPU上,当在单核处理上运行的时候,多个线程在单核处理上交替执...原创 2018-04-10 18:44:12 · 1779 阅读 · 0 评论 -
JAVA 并发与高并发知识笔记(二)
一、并发安全、不安全描述安全:多个线程操作同一个资源,最后的执行结果与单线程执行结果一致,则说明是线程安全的不安全:多个线程操作同一个资源,最后执行结果不确定的,则说明不是线程安全的这里我觉得还是解释一下并发与并行的一点区别比好(并非绝对概念),并发通常是多个线程去竞争相同资源,而并行通常是多个线程之间是协作关系,例如,在秒杀场景下,多个用户(线程)共同争抢某个资源,这个是并发。例如,多个线程统计...原创 2018-04-12 10:34:30 · 457 阅读 · 0 评论 -
JAVA 并发与高并发知识笔记(三)
一、原子性操作的几种方式先回顾一下原子性操作的解释:原子性要有互斥性,既:同一时刻只能有一个线程进行操作。1、synchronized 关键字(同步锁),由JVM 管理以及实现 a) 在这个关键字作用对象的对象范围内,多个线程操作是原子性的。(注意:是作用对象的作用范围内) b) 关键字常见使用方式 b.1 修饰代码块,作用于调用对象,被修饰的代码块同一个对象同一时刻只能有一...原创 2018-04-18 14:32:19 · 238 阅读 · 0 评论