Java并发编程中常用的辅助类有哪些详解?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1950个文字,预计阅读时间需要8分钟。
1. CountDownLatch 示例:处理班级长锁门问题问题描述:假设有7个同学晚上需要锁门,每个人都需要在离开时负责锁门。班级长必须在所有人都离开后才能锁门。
班级长顺序是1. CountDownLatch:
1.班级长创建一个 CountDownLatch 对象,设置计数为7。
2.每个同学离开时,调用 CountDownLatch 的 countDown() 方法,计数减1。
3.班级长在锁门前调用 CountDownLatch 的 await() 方法,等待计数为0,即所有同学都已离开。
1.CountDownLatch
1.2.示例:班长锁门问题
问题描述:假如有7个同学晚上上自习,钥匙在班长手上,并且要负责锁门。班长必须要等所有人都走光了,班长才能关灯锁门。这6个同学的顺序是无序的,不知道它们是何时离开。6个同学各上各的自习,中间没有交互。假如说6个学生是普通线程,班长是主线程,如何让主线程要等一堆线程运行完了,主线程才能运行完成呢。
本文共计1950个文字,预计阅读时间需要8分钟。
1. CountDownLatch 示例:处理班级长锁门问题问题描述:假设有7个同学晚上需要锁门,每个人都需要在离开时负责锁门。班级长必须在所有人都离开后才能锁门。
班级长顺序是1. CountDownLatch:
1.班级长创建一个 CountDownLatch 对象,设置计数为7。
2.每个同学离开时,调用 CountDownLatch 的 countDown() 方法,计数减1。
3.班级长在锁门前调用 CountDownLatch 的 await() 方法,等待计数为0,即所有同学都已离开。
1.CountDownLatch
1.2.示例:班长锁门问题
问题描述:假如有7个同学晚上上自习,钥匙在班长手上,并且要负责锁门。班长必须要等所有人都走光了,班长才能关灯锁门。这6个同学的顺序是无序的,不知道它们是何时离开。6个同学各上各的自习,中间没有交互。假如说6个学生是普通线程,班长是主线程,如何让主线程要等一堆线程运行完了,主线程才能运行完成呢。

