- 博客(6)
- 收藏
- 关注
原创 多线程与高并发(二)
LockSupportLockSupport与synchronized对比总结LockSupport中park()和unpark()方法的实现原理LockSupport与synchronized对比阻塞和释放线程时,synchronized方法使用的时 wait() 和 notify() 方法并且需要保证synchronized、wait()、notify()方法对象必须一致,一个synchronized代码块只能有一个线程调用wait()和notify()方法。而在JDK1.6中java.util.c
2020-10-27 08:18:29 129
原创 CAS操作
ReentrantLock以及相关其他锁ReentrantLock可重入性可尝试获取锁可被打断加锁可指定公平性ReentrantLock 可自主设置为公平锁或非公平锁CountDownLatchCyclicBarrierPhaserReadWriteLockSemaphoreReentrantLock可重入性ReentrantLock是允许重入的:public class Reen_01 { Lock lock = new ReentrantLock(); public void m1(){
2020-10-21 12:35:08 566
原创 多线程与高并发
volatile关键字和synchronizedvolatile作用保证线程可见性(MESI 缓存一致性协议)禁止指令重排序(CPU)volatile应用单例模式(饿汉式)单例模式可以保证线程安全只创建一次。public class DCL { private static DCL dcl = new DCL(); private DCL(){} public DCL getInstance(){ return dcl; }}有些时
2020-10-15 08:48:31 167
原创 多线程相关问题
多线程的基本知识创建线程的几种方式启动线程的几种方式线程的生命周期线程的不同状态创建线程的几种方式继承Thread 类 public class MyThread extends Thread{ @Override public void run() { System.out.println("This is MyThread"); } }2.实现Runnable接口 public class MyRunnable implements Runnable{ @Ov
2020-10-15 00:06:37 107
原创 操作系统相关问题(一)
硬件与操作系统缓存一致性与指令重排序图解名词解释:缓存一致性产生的原因解决方法指令重排序cpu层面如何禁止重排序解释JVM层面如何禁止重排序hanppen-before缓存一致性与指令重排序图解名词解释:PC -> Program Counter 程序计数器 (记录当前指令地址)Registers -> 暂时存储CPU计算需要用到的数据ALU -> Arithmetic & Logic Unit 运算单元CU -> Control Unit 控制单元MMU
2020-10-13 23:09:40 186
原创 Macos 编译openjdk错误如何解决
编译时,也就是make之后。 /Users/gaodachang/openjdk/hotspot/make/bsd/makefiles/gcc.make:225: * extraneous endif’. Stop. make[7]: * [jvmg] Error 2 make[6]: * [generic_build2] Error 2 make[5]: * [jvmg] Error...
2018-07-30 23:38:46 731
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人