编写一个多线程的C程序 分割数据并分发给每个线程 30

编写一个多线程的C程序分割数据并分发给每个线程下面是英语翻译过来的要求可能有点不太通顺希望能有大神帮忙解答!输入数据:输入数据通过标准输入。假设输入数据只是文本数据。输入... 编写一个多线程的C程序 分割数据并分发给每个线程下面是英语翻译过来的要求 可能有点不太通顺 希望能有大神帮忙解答 !
输入数据:输入数据通过标准输入。假设输入数据只是文本数据。输入数据是多行的,每行由\ n分隔。我们不知道会有多少条线路进来,它可以是无限的。
输入参数:有一个输入参数。它指定了要创建多少个线程。$ ./datasplit -n 3
在上面的这个例子中,程序应该创建3个线程。输入参数n必须存在于命令行中。如果没有,或无法识别,程序应该打印错误并退出。 n的值必须大于0。
内部架构:在开始时创建n + 1个线程。前n个线程是工作线程。最后一个线程是接收从n个工作线程传递的数据的接收线程。随着输入数据成为完整的一行,main函数以循环方式将其传递给其中一个工作线程。您应该使用“读取”功能从标准英寸接收数据。每个线程转换接收到的所有行中的小写字母,并将其传递给接收者线程。接收器线程打印该行。也就是说,写出来的标准。
环境:使用Linux环境。您可以安装vmware播放器或虚拟机,然后在VM内安装Linux。你也可以在Windows中使用Cygwin。大多数时候Cygwin也会工作。但是,有时程序会在Cygwin中编译OK,但在Linux中可能不会。
编译和构建:使用附件的“Makefile”。把这个文件放到你编写的c程序的某个目录下,命名为datasplit.c,然后输入“make”。它会自动创建可执行文件。
你的系统必须安装'make'工具。在Ubuntu Linux的情况下,执行“sudo apt-get install build-essential”来安装它。在CentOS或Fedora中,您必须使用yum命令。

Makefile.c :
.SUFFIXES : .c .o

CC = /usr/bin/gcc
CPP = /usr/bin/g++
CFLAGS = -pthread -g -c -Wall
LDFLAGS= -Wall -lm
LIBFILE= -pthread

SRC= datasplit.c

OBJ= $(addsuffix .o, $(basename $(SRC)))

TARGET= datasplit

all: $(TARGET)

datasplit: datasplit.o
$(CC) $(LDFLAGS) $(LIBDIR) $(LIBFILE) -o $@ $^

.c.o:
$(CC) $(CFLAGS) $(INCDIR) $<

clean:
rm -rf $(OBJ) $(TARGET) core
展开
 我来答
never715
2018-05-07 · TA获得超过942个赞
知道小有建树答主
回答量:1010
采纳率:84%
帮助的人:454万
展开全部
不如贴英文原版要求,中文翻译出来的要求看着不是很明白
追问
谢谢大神!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
itunes0004
2018-05-05 · TA获得超过4045个赞
知道大有可为答主
回答量:2685
采纳率:69%
帮助的人:515万
展开全部
可以做,你有部分源码了吗
追问
没有 这已经是全部题目了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式