前言
OO博客大家都使用了个性化的名字,让想查看某个特定的人的博客十分的不便。刚刚发现班级页面提供查看评论的功能,众所周知,有评论的都是大佬,于是顺着足迹拜读了诸多大佬的blog,感觉自己又学到了。
hw5使用生产者-消费者模式,输入类和控制器共享等待队列,输入类向等待队列添加请求,控制器控制电梯接受请求。
hw6在hw5的基础上改写了输入类,将向一个等待队列添加请求改为了向多个等待队列分配请求。为了保证调度的性能,将已经进入电梯的请求也添加为共享对象。
hw7使用工人模式,在hw6的基础上添加了请求池和总调度器。请求池存放输入和二次调度的请求,总控制器从请求池取出请求分配给各电梯。
总体来说设计比较保守,牺牲了部分程序性能,用简单粗暴的方法保证了线程安全。具体来说就是保证每个对象只被两个线程共享,读写工作都在同步块内进行。
搭建架构的主要思路分别来自第3、4次实验。hw56架构是第三次实验中的生产者消费者模式,hw7的架构是第四次实验中的工人模式。
我的hw7可扩展性比较差,主要是考虑这是最后一个电梯作业,写的时候直接把可扩展性扬了,很多地方迁就了自己的hw6。
原文:https://www.cnblogs.com/lllllllllllllllllllllllllllll/p/12723587.html