设计多线程编程的赋值
本学期我是OS课程的助教.所以我被要求为具有有限C编程技能的CS本科生设计多线程编程
这不应该是一个大的任务,因为它只需要最终成绩的5%.这应该是新的东西,所以学生不能只从互联网上下载一些代码. 这就是我在想的,一个简单的Message Queue服务器.
我觉得这可能太简单了,但此刻我想不出别的什么.如果你在我的位置,你会给予什么职责? 解决方法
你在用Unix吗?这并不重要,你也可以使用
Windows.
只需创建一个命名管道. 然后创建4个线程. 1个控制线程,1个消费者(读者)线程和2个生产者(编写者)线程. 生产者只需将一个字符串发送到管道,然后消费者获取字符串,将其大写或者打印出来并将其打印出来. 控制线程用于启动和停止其他3个线程.它需要简单的命令:startProducer1,startProducer2,startConsumer,stop命令和关闭命令. 这显示了不同的线程都在自己工作,但同时由主控制(知道何时关闭等). 奖励积分如果你可以包装这是一个简单的GUI,甚至是一些简单的Ncurses视频显示,这样控制显示总是有可见性来接受命令并显示结果. 您可以显示您是否启动了1个生产者但没有消费者,该线程将如何阻止.与两个生产者相同,或消费者如何阻止没有生产者. 使用管道意味着您不必依赖该外部程序(以及设置它的所有细节,调试它配置它并支持它). Unix和Windows都有命名管道(但我认为系统调用是不同的,但POSIX可移植性可能只是在这里工作……). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |