随笔分类 - 多线程
摘要:为什么要使用定时器呢? 比如说一个web应用,如果这个应用规模很大,那它的日志数据是不是很多。如果一直存下来服务器的存储量怕是不行吧,需要隔一段时间删除,那么就需要一个线程每隔一段时间去删除日志数据。 直接来个程序: import java.util.Timer; import java.util.
阅读全文
摘要:今天看了 Lock,最大的感觉就是 ReentrantLock 类有很多方法可以使用 为什么提出Lock? Lock 是 Java1.5 后提出来的,之前有 synchronized 关键字来控制同步。那么为什么要提出Lock呢?肯定是 synchronized 有缺陷所以需要完善。 synchro
阅读全文
摘要:wait、notify、notifyAll wait、sleep、yield区别? sleep 让出cpu使用权但是不会释放锁。 public class Test { public static void main(String[] args) { Object obj=new Object();
阅读全文
摘要:volatile 1. 线程间的可见性 2. 防止指令重排 线程间的可见性 先了解下java的内存模型主内存和工作内存 java的内存模型主要目标是定义程序中各个变量的访问规则,即虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。而这些变量包括实例字段、静态字段和构成数组对象的元素。————
阅读全文
摘要:线程基础知识(二) 什么叫脏读? 多个进程并发访问同一个资源如果没加锁可能会造成获取的数据有问题。 比如i++操作(假设i初始值为0)如下图两个线程对执行i++而且顺序是1、2、3、4、5、6,i的最后的值是1. synchronized synchronized就是加锁确保原子性。 synchro
阅读全文
摘要:线程基础知识(一) 看了Java多线程编程核心技术第一章,算是读后感吧感觉自己基础并不是很好。 并发和并行 并发:你在吃饭突然来了一个电话,然后你去接电话,接完电话再吃饭。 并行:你在吃饭突然来了一个电话,然后你边吃饭边接电话。 并发其实就是交替的进行,并行就是同时进行。 进程和线程和程序 参考ht
阅读全文

浙公网安备 33010602011771号