09 2018 档案

摘要:引言: 有时候我们执行一个操作,需要一个前提条件,只有在条件满足的情况下,才能继续执行。在单线程程序中,如果某个状态变量不满足条件,则基本上可以直接返回。但是,在并发程序中,基于状态的条件可能会由于其他线程的操作而改变。而且存在这种需要,即某个操作一定要完成,如果当前条件不满足,没关系,我可以等,等 阅读全文
posted @ 2018-09-10 23:33 猫毛·波拿巴 阅读(924) 评论(0) 推荐(0) 编辑
摘要:概要:new Thread 并不意味着已经创建了一个线程,只能说明创建一个类的对象实例而已。而真正创建线程的是start()方法,此方法将调用本地方法start0()创建本地线程,而Thread的run()方法其实是作为一个回调函数被JVM创建的线程所调用。 构造方法与线程创建有关吗,它做了什么? 阅读全文
posted @ 2018-09-06 14:40 猫毛·波拿巴 阅读(1667) 评论(0) 推荐(0) 编辑
摘要:系列目录: 揭开Future的神秘面纱——任务取消 揭开Future的神秘面纱——任务执行 揭开Future的神秘面纱——结果获取 使用案例 在之前写过的一篇随笔中已经提到了Future的应用场景和特性。(ExecutorService——<T> Future<T> submit(Callable< 阅读全文
posted @ 2018-09-04 11:28 猫毛·波拿巴 阅读(2042) 评论(0) 推荐(0) 编辑
摘要:何为阻塞队列,其与普通队列有何差别? 总的来说,就是能够在适当的时候阻塞"存"和"取"两个操作,以达到控制任务流程的效果。阻塞队列提供了可阻塞的put和take方法。如果队列已经满了,那么put方法将阻塞直到有空间可用;如果队列为空,那么take方法将会阻塞直到有元素可用。 阻塞队列接口及实现来自于 阅读全文
posted @ 2018-09-03 11:46 猫毛·波拿巴 阅读(592) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示