摘要: 设计线程安全的类 有时调用是非线程安全的,此时必须把有安全隐患的方法用同步代码块包括起来,所谓线程安全的类就是将同步机制封装在类内部,这样方法调用时就不存在线程安全问题了。 要设计线程安全的类首先寻找可能暴露在外的字段,包括private但是内部方法修改的。然后将这些字段用同步手段保护起来,不仅仅要 阅读全文
posted @ 2019-09-19 14:01 勇闯8 阅读(212) 评论(0) 推荐(0) 编辑
摘要: BlockingQueue接口和线程池 BlockingQueue接口 它有四套api,add/remove操作失败会直接抛出异常,offer/poll操作失败会返回特殊值,还可以加时间,过了时间返回失败,put/take操作失败会阻塞。 ArrayBlockingQueue:是数组实现的,必须构造 阅读全文
posted @ 2019-09-19 13:30 勇闯8 阅读(501) 评论(0) 推荐(0) 编辑
摘要: AQS的几个同步组件 CountDownLatch 一个线程或多个线程一直等待,直到其他线程执行的操作完成才继续执行。 应用:并行计算。 计数器是不能重计的,计数值不能往上加,类似操作只有一次。 使用时首先new一个countDownLatch,构造方法中放入计数,然后在一个线程中调用await方法 阅读全文
posted @ 2019-09-19 10:19 勇闯8 阅读(388) 评论(0) 推荐(0) 编辑