上一页 1 2 3 4 5 6 ··· 8 下一页
摘要: sleep sleep方法是在Thread类中的一个静态方法,当一个线程调用了sleep方法,被调用的那个线程就会暂时的让出指定时间的CPU执行权,在这段时间也不会参与CPU的调度,当时间到了之后,就会重新回到就绪状态,等待CPU的再次调度,注意是就绪状态,而不是重新拿回CPU的执行权。并且,在休眠 阅读全文
posted @ 2020-05-26 16:14 穿黑风衣的牛奶 阅读(1211) 评论(0) 推荐(0) 编辑
摘要: Object对象概述 在说这些方法之前,有一点需要先思考一下,为什么wait,notify,notifyAll这些跟线程有关的方法是封装在Object中而不线程的Thread类呢?这也是一道面试题经常问的内容。 其实答案很简单,之前我们说过,可以把任意的对象作为锁资源进行竞争,而Object是所有类 阅读全文
posted @ 2020-05-26 16:01 穿黑风衣的牛奶 阅读(407) 评论(0) 推荐(0) 编辑
摘要: 在以往的线程交互中,我们唤醒线程或者阻塞线程一般都是用notify/wait/await等等函数,但是还是不够灵活。例如说,我现在有十个线程,如果是我想唤醒或者挂起这其中的一部分线程的话,那我可以使用Condition,将这部分线程分队列,也就是ReentrantLock里面的,newConditi 阅读全文
posted @ 2020-05-25 20:35 穿黑风衣的牛奶 阅读(367) 评论(1) 推荐(0) 编辑
摘要: 要实现同步,一般我们会用synchronized,但是其实除了synchronized之外,还有一些方法,比如说ReentrantLock,ReentrantLock其实是完全可以取代synchronized的,而且比synchronized会更灵活 ReentrantLock概述 Reentran 阅读全文
posted @ 2020-05-24 21:14 穿黑风衣的牛奶 阅读(429) 评论(0) 推荐(0) 编辑
摘要: A其实本来这篇文章一直纠结要不要写,想写又觉得自己水平不够,但是不写的话,后面的ReentrantLock又是基于AQS的,可以说是整个Java并发编程中JUC包中最核心的部分,所以还是打算写一下,水平有限,本篇文章只是对AQS比较浅的探讨,不会太过深入源码,更多的是去理解AQS的整个过程 什么是A 阅读全文
posted @ 2020-05-24 21:12 穿黑风衣的牛奶 阅读(716) 评论(0) 推荐(0) 编辑
摘要: 前言:前面的内容中我们一直在讲锁,其实多线程的关键问题就是在线程安全,而保障线程安全的方式一般有两种,一种就是加锁,另一种则是CAS,CAS之前已经知道了是什么东西,接下来说一下锁,其实锁也有很多种分类。例如悲观锁,乐观锁等等。。。有助于理解后面的难点 悲观锁和乐观锁 一般乐观锁和悲观锁都是在数据库 阅读全文
posted @ 2020-05-23 10:28 穿黑风衣的牛奶 阅读(1209) 评论(0) 推荐(0) 编辑
摘要: ThreadLocal作用 对于多个线程访问一个共享变量的时候,我们往往要通过加锁的方式进行同步,像这样 但是除此之外,其实还有另一种方式可以隔绝线程对于共享变量读写的独立性。那就是ThreadLocal。如果你创建了一个ThreadLocal变量,那么访问这个变量的每个线程都会有一块独立的空间,当 阅读全文
posted @ 2020-05-20 14:15 穿黑风衣的牛奶 阅读(1316) 评论(0) 推荐(0) 编辑
摘要: 前言:之前介绍了synchronized关键字,知道通过synchronized可以实现互斥来保证内存的可见性问题,但是同时也说到了,synchronized是一个非常重量级的锁,即便后面引入了锁的升级过程,但是如果是这种情况,你只想保证代码里某些变量的内存可见性,就直接对这些变量,或者使用了这些变 阅读全文
posted @ 2020-05-18 16:18 穿黑风衣的牛奶 阅读(1096) 评论(0) 推荐(0) 编辑
摘要: 在之前的两篇文章中,介绍了synchronized的一些用法以及原理,但是同时也提到了一个问题,就是synchronized实际上是一种重量级的锁,本身很笨重,因为synchronized是互斥的,所以在切换线程的时候,线程上下文切换会引起大量的性能开销。也正是因为这个性能原因饱受诟病,因此在jdk 阅读全文
posted @ 2020-05-17 18:12 穿黑风衣的牛奶 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 前言:在上一篇博客说完了synchronized锁的到底是什么,以及基本的用法,作用,算是synchronized的预备知识。但是学东西要知其然也要知其所以然,所以这篇准备深入的分析,synchronized的原理,synchronized到底是怎么实现同步,保证线程安全的。 Java代码层面 Ja 阅读全文
posted @ 2020-05-17 17:14 穿黑风衣的牛奶 阅读(539) 评论(3) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 8 下一页