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

浙公网安备 33010602011771号