预备知识1:生产者-消费者模式。在同一个进程地址空间内执行的两个线程。生产者线程产生消息,然后将消息放置在一个缓冲区中供消费者线程处理。消费者线程从缓冲区中读取消息进行处理。当生产者线程产生消息时,如果缓冲区满,那么生产者线程必须等待消费者线程处理完消息以释放缓冲区。当消费者线程在读取消息进行处理时,如果缓冲区中没有消息,那么消费者线程将被阻塞,直到有消息被生产出来。
预备知识2:排序规则 如有6个数字,先从6个中取最大的排第一位,再从剩下5个中取最小的排第二位,再从剩下4个中取最大的排第三位,再从剩下3个中取最大的排第四位,以此规则类推,为一组数字排序
例如:45,35,12,887,454,3
按该排序规则排列,则得到结果为
887,3, 454, 12, 45, 35
题目内容:生产者从输入文件source.txt(文件名通过命令行给定,参见下述的“命令行使用接口”)中读取字符串信息并放入缓冲区,消费者从缓冲区中获取信息、按题中要求的排序规则排序,将排序后的字符串输出到结果输出文件result.txt中(以逗号分隔)。
详细说明:
(1) 要读入的文件格式参见以下例子(参见随试题一起提供的附件文件source.txt):
45,35,12,887,454,3
预备知识2:排序规则 如有6个数字,先从6个中取最大的排第一位,再从剩下5个中取最小的排第二位,再从剩下4个中取最大的排第三位,再从剩下3个中取最大的排第四位,以此规则类推,为一组数字排序
例如:45,35,12,887,454,3
按该排序规则排列,则得到结果为
887,3, 454, 12, 45, 35
题目内容:生产者从输入文件source.txt(文件名通过命令行给定,参见下述的“命令行使用接口”)中读取字符串信息并放入缓冲区,消费者从缓冲区中获取信息、按题中要求的排序规则排序,将排序后的字符串输出到结果输出文件result.txt中(以逗号分隔)。
详细说明:
(1) 要读入的文件格式参见以下例子(参见随试题一起提供的附件文件source.txt):
45,35,12,887,454,3