
java并发
yrk0556
yrk0556@foxmail.com联系我
展开
-
为什么线程切换会导致用户态与内核态的切换
因为线程的调度是在内核态运行的,而线程中的代码是在用户态运行原创 2020-02-11 17:19:19 · 5581 阅读 · 3 评论 -
CAS算法与乐观锁
CAS,Compare and Swap,这是一个原子操作。比较然后赋值。 class MyLock { private boolean locked = false; public boolean lock() { if(!locked) { locked = true; return true; ...原创 2020-02-11 17:08:40 · 257 阅读 · 0 评论 -
notify和notifyAll的区别
notify和notifyAll的区别 如果线程调用了对象的 wait()方法,那么线程便会处于该对象的等待池中,等待池中的线程不会去竞争该对象的锁。 当有线程调用了对象的 notifyAll()方法(唤醒所有 wait 线程)或 notify()方法(只随机唤醒一个 wait 线程),被唤醒的的线程便会进入该对象的锁池中,锁池中的线程会去竞争该对象锁。也就是说,调用了notify后只要一...转载 2020-01-06 15:21:47 · 230 阅读 · 0 评论 -
java中synchronized的用法
synchronized的用法大致分为3类 synchronized修饰实例方法 例如synchronized void a(){} synchronized修饰类方法 例如synchronized static void a(){} synchronized修饰任意对象 例如synchronized(new Object()){} 其实第一二种情况可以归为第三种情况,修饰实例方法就相当与当前...原创 2020-01-06 00:50:27 · 135 阅读 · 0 评论