面向对象第二单元博客

王翼搏-19373473 2024-04-20 19:35:57

同步块的设置和锁的选择

本单元作业我采用的均是生产者-消费者模型,生产者即为输入线程Input,消费者是六个Elevator线程,具体流程是Input先将得到的乘客请求输入到公共等待队列waitmap中,然后通过调度器Manager线程将waitmap中的乘客分配给每个Elevator各自的等待队列waitlist中。

调度策略

调度器即为Manager类,它通过waitmap和Input与Elevator进行交互,Input向waitmap中写入数据,Manager从中取出,然后按照调度策略分配给相应电梯的waitlist。

img

bug分析

主要还是多线程中可能导致的互锁,轮询等问题

心得体会

生产者-消费者模型的可扩展性是很强的,难点就是如何解决线程安全问题

...全文
77 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

301

社区成员

发帖
与我相关
我的任务
社区描述
2023年北航面向对象设计与构造
学习 高校
社区管理员
  • YannaZhang
  • CajZella
  • C_ecelia
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧