02 2019 档案

摘要:Lock接口中有lockInterruptibly方法(线程中断),tryLock方法(获取锁成功返回成功,获取锁失败返回失败),还有就是锁的公平性问题,还有就是提供读写性能的ReadWriteLock等等。 Lock需要显示地获取和释放锁,繁琐,能让代码更加灵活 Synchronized不需要显示 阅读全文
posted @ 2019-02-14 09:42 曲阳阳 阅读(483) 评论(0) 推荐(0)
摘要:volatileche称为轻量级锁,被volatile修饰的变量,在线程之间是可见的。可见:一个线程修改了这个变量的值,在另一个线程中能够读到这个修改后的值synchronized除了线程之间互斥,还有一个非常大的作用,就是保证可见性 10最终结果为:10 volatile的底层是怎样实现的? 我们 阅读全文
posted @ 2019-02-13 07:03 曲阳阳 阅读(571) 评论(0) 推荐(0)
摘要:重入锁 重入锁 能够让线程进行重入的锁叫作重入锁锁重入 让线程进行重入的过程叫作锁的重入 锁是当前类的实例,当进入a方法的时候,线程必须先拿到当前类的实例(锁),这个时候,a的方法内同时调用了b方法,b方法也是用synchronized来修饰的,所以b方法也需要线程获取锁才能让线程进来 进入a方法的 阅读全文
posted @ 2019-02-12 21:26 曲阳阳 阅读(357) 评论(0) 推荐(0)
摘要:饿汉式 没有线程安全问题 懒汉式 双重检验加锁解决线程安全问题 阅读全文
posted @ 2019-02-12 19:03 曲阳阳 阅读(184) 评论(0) 推荐(0)
摘要:线程安全性问题 多线程环境下多个线程共享一个资源对资源进行非原子性操作 线程所带来的风险 线程安全性问题活跃性问题(死锁,饥饿,活锁) 性能问题 首先我们知道类的实例化对象是在堆内存中的,堆属于线程所共享的区域,程序计数器是线程独享的区域,value变量属于多个线程共享的区域。 0 -> 第一个线程 阅读全文
posted @ 2019-02-11 20:49 曲阳阳 阅读(141) 评论(0) 推荐(0)
摘要:新建spring boot工程,pom 中引入spring-context依赖 //Config.java @Configuration@ComponentScan("com.roocon.thread.t1")@EnableAsyncpublic class Config { } 阅读全文
posted @ 2019-02-10 18:39 曲阳阳 阅读(120) 评论(0) 推荐(0)