juc
zhouzhou_98
所谓的焦虑就是书读的太少,而想的又太多
展开
-
淘宝面试题
/** * 曾经的面试题:(淘宝?) * 实现一个容器,提供两个方法,add,size * 写两个线程,线程1添加10个元素到容器中,线程2实现监控元素的个数,当个数到5个时,线程2给出提示并结束 * * 分析下面这个程序,能完成这个功能吗? * @author mashibing */ package com.mashibing.juc.c_020_01_Interview; import java.util.ArrayList; import java.util.L...原创 2020-05-30 15:04:18 · 523 阅读 · 0 评论 -
线程锁
线程锁 三个count++性能对比 package com.mashibing.juc.c_018_00_AtomicXXX; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.LongAdder; public class T02_AtomicVsSyncVsLong原创 2020-05-26 16:07:41 · 204 阅读 · 0 评论 -
violate与线程安全
1 violate 线程可见性: 可见性是值一个线程对共享变量的修改,对于另一个线程来说是否是可以看到的。 为什么会出现这种问题呢? 我们知道,java线程通信是通过共享内存的方式进行通信的,而我们又知道,为了加快执行的速度,线程一般是不会直接操作内存的,而是操作缓存。 java线程内存模型: 实际上,线程操作的是自己的工作内存,而不会直接操作主内存。如果线程对...原创 2020-05-26 00:01:45 · 1104 阅读 · 0 评论 -
多线程与高并发基础概念与synchronized
线程基础概念与synchronized 1线程、进程、纤程的基本概念 (1)进程 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。每个进程都有自己的独立内存空间,不同进程通过进程间通信来通信。由于进程比较重量,占据独立的内存,所以上下文进程间的切换开销(栈、寄存器、虚拟内存、文件句柄等)比较大,但相对比较稳定安全。 (2)线程 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线...转载 2020-05-25 11:28:05 · 174 阅读 · 0 评论 -
模拟银行开户
/** * 面试题:模拟银行账户 * 对业务写方法加锁 * 对业务读方法不加锁 * 这样行不行? * * 容易产生脏读问题(dirtyRead) */ package com.mashibing.juc.c_008; import java.util.concurrent.TimeUnit; public class Account { String nam...原创 2020-05-25 11:26:29 · 524 阅读 · 0 评论