这个作业不应该很大,因为它只占最终成绩的5%。而且应该是新的东西,所以学生不能只从互联网上下载代码。
我的想法是设计一个简单的消息队列服务器。
我们将向学生提供一个非常简单的MQ服务器,它只有一个线程并仅接受2个客户端连接:阅读器和写入器。写入器定期向队列即服务器发送消息,而阅读器从队列即服务器读取消息。我们还将提供阅读器和写入器。
然后,我们要求学生修改服务器以同时接受多个读取器和写入器,同时还要求线程安全。换句话说,每个消息只能发送给一个读取器,并且在队列中没有消息丢失,这需要使用互斥锁。
我觉得这可能太简单了,但是我此时无法想到其他更好的作业。如果你处于我的位置,你会给出什么样的任务?