为了账号安全,请及时绑定邮箱和手机立即绑定

等待多个阻塞队列

等待多个阻塞队列

慕码人8056858 2021-07-23 16:05:07
如何在 Java 中等待多个阻塞队列?例如,如果有一位顾客想要进入等候室。有3个候机室,每个休息室都有固定数量的座位。考虑到这是一个并发编程问题,客户如何同时等待所有这些。  terminal.waitingArea1.enterWaitingArea(this);   terminal.waitingArea2.enterWaitingArea(this);   terminal.waitingArea3.enterWaitingArea(this);如果我进入一个区域,我应该放弃等待其他区域。如何才能做到这一点?
查看完整描述

2 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

基本逻辑是:

  1. 使用布尔变量(即 a flag),最初设置为false

  2. 当物体进入等候区时,检查标志。

  3. 如果标志为false,则将其设置为 true,然后执行所需的操作。

  4. 如果标志是true,只需从队列中删除对象,不做任何事情。

如果您使用多个线程,请synchronized在对象上使用。


查看完整回答
反对 回复 2021-07-23
?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

保持引用队列中Customerthis Customer等待。什么时候

进入一个区域

this Customerthis除此队列之外的所有等待队列中删除,remove操作应该是synchronized


查看完整回答
反对 回复 2021-07-23
  • 2 回答
  • 0 关注
  • 142 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信