摘要: 1. 当一个线程正在访问一个对象的 synchronized 实例方法,那么其他线程不能访问该对象的其他 synchronized 方法 对于每一个实例方法,锁是加在对象上的,一个线程访问其中一个 synchronized 修饰的实例方法时,这个线程就拿到了对象的锁,所以其他线程无法拿到该对象的锁, 阅读全文
posted @ 2019-08-18 20:29 Ainsliaea 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 1. Future 和 FutureTask 获取返回结果 都是调用 ExecutorService 的 submit 方法,不同的是一个 submit Callable,返回值用 Future 接收;另一个 submit FutureTask,也就是 Runnable,不需要接收返回值 Futur 阅读全文
posted @ 2019-08-18 20:28 Ainsliaea 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 1. ctl:将 workerCount(工作线程的数量)和线程池的状态放在一个 int 中保存 在 ctolOf 方法中实现 private static int ctlOf(int rs, int wc) { return rs | wc; } 作用:并不是节省空间,而是为了保持线程池状态和运行 阅读全文
posted @ 2019-08-18 20:28 Ainsliaea 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 1. newSingleThreadExecutor 和 newFixedThreadPool(1) 的区别 Fixed 直接返回一个 ThreadPoolExecutor,而 Single 在 ThreadPoolExecutor 的基础上封装了 FinalizableDelegatedExecu 阅读全文
posted @ 2019-08-18 20:28 Ainsliaea 阅读(198) 评论(0) 推荐(0) 编辑