![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java并发
yrk0556
yrk0556@foxmail.com联系我
展开
-
为什么线程切换会导致用户态与内核态的切换
因为线程的调度是在内核态运行的,而线程中的代码是在用户态运行原创 2020-02-11 17:19:19 · 5472 阅读 · 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 · 229 阅读 · 0 评论 -
notify和notifyAll的区别
notify和notifyAll的区别如果线程调用了对象的 wait()方法,那么线程便会处于该对象的等待池中,等待池中的线程不会去竞争该对象的锁。当有线程调用了对象的 notifyAll()方法(唤醒所有 wait 线程)或 notify()方法(只随机唤醒一个 wait 线程),被唤醒的的线程便会进入该对象的锁池中,锁池中的线程会去竞争该对象锁。也就是说,调用了notify后只要一...转载 2020-01-06 15:21:47 · 214 阅读 · 0 评论 -
java中synchronized的用法
synchronized的用法大致分为3类synchronized修饰实例方法例如synchronized void a(){}synchronized修饰类方法例如synchronized static void a(){}synchronized修饰任意对象例如synchronized(new Object()){}其实第一二种情况可以归为第三种情况,修饰实例方法就相当与当前...原创 2020-01-06 00:50:27 · 109 阅读 · 0 评论