任务要求 利用单生产者和多消费者模型,利用管道或内存队列实现一个多线程协作拷贝文件的程序。 一个线程读文件,另外n个线程写文件,完成1G的文件并行拷贝。 读文件需要读定长数据块,消费者线程根据数据块在文件的偏移量写入对应的文件位置。 校验拷贝后的数据的正确性,可通过比较原文件的md5值验证。 有bug版本 gcc -o generate_1G_file generate_1G_file.cpp ./generate_1G_file make ./parallel_copy 1 3 最终版本: gcc -o producer-consumer producer-consumer.c -lpthread ./producer-consumer input.txt output.txt 最终版本带测试: 直接运行sh test.sh