线程安全
小田资料库
让天下没有我不知道的技术
展开
-
多线程各种方法举例应用项目中
/** * 功能描述: * 生产者(Productor)将产品交给店员(Clerk),而消费者(Customer)从店员处取走产品, * 店员一次只能持有固定数量的产品(比如:20),如果生产者试图生产更多的产品,店员 * 会叫生产者停一下如果店中有空位放产品了再通知生产者继续生产:如果店中没有产品 * 了,店员会告诉消费者等一下, 如果店中有产品了再通知消费者来取走产品。 * * @author tck on 2021/12/24 */ //店员 class Clerk { p.原创 2021-12-24 16:38:33 · 70 阅读 · 0 评论 -
两种线程安全解决方式之 锁
synchronized与Lock的对比 1. Lock是显式锁(手动开启和关闭锁,别忘记关闭锁),synchronized是隐式锁,出了作用域自动释放 2. Lock只有 代码块锁,synchronized有 代码块锁和方法锁 3. 使用Lock锁,JVM将花费较少的时间来调度线程,性能更好。并且具有更好的扩展性(提供更多的子类 优先使用顺序: Lock >同阳代码块(已经进入了方法体,分配了相应资源) >同步方法。(在方法体之外) 一:synchronized锁 方式一:...原创 2021-12-24 12:23:11 · 2243 阅读 · 0 评论