Linux下C实现多进程同步并行

gzu112 2009-10-23 11:24:40
例如:
有这样一段程序:
int a[20] = {1,2,3、、、、、、,20};
for(int i=0; i<20; i++)
{
printf("%d\n",a[i]);
}
现在想用多进程来完成上面的输出过程,多个进程并发执行,进程同步,进程数由用户输入,linux实现,求各位帮忙实现。
问题补充:例如:进程1在print a[1],同时,进程2在print a[2] , 同时,进程3在print a[3]], 同时,进程4在print a[4]。。。。。。

各个进程执行各自的。如何实现,望指教,谢谢!
...全文
745 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
m910529 2012-04-21
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]
在熟读APUE之前,不要碰Linux下的开发
[/Quote]

光看书,不实践有用么?
Dansley 2009-10-23
  • 打赏
  • 举报
回复
楼主的想法好奇怪
superbtl 2009-10-23
  • 打赏
  • 举报
回复
pid_t pid[n];
for(进程个数 i)
{
if ( (pid_t = fork()) ==0 )
{ //子进程
printf a[i];
exit(0);
}
}

//主进程
waitpid(子进程);

这个结构适用吗?
wesleyluo 2009-10-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 leon63918841 的回复:]
谢谢呀,我终于了解了
[/Quote]
解了,请把代码贴出来看下。
J372000242 2009-10-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 leon63918841 的回复:]
谢谢呀,我终于了解了
[/Quote]

人家问了个问题,你了解了什么啊?

#include <unistd.h>
pid_t fork(void)
int nice(int inc)
可以试试上面的
leon63918841 2009-10-23
  • 打赏
  • 举报
回复
谢谢呀,我终于了解了
pcboyxhy 2009-10-23
  • 打赏
  • 举报
回复
在熟读APUE之前,不要碰Linux下的开发
  • 打赏
  • 举报
回复
唉,不知道怎么说。

问题又不难,问题是你得看书啊,至少得会用fork啊。
http://blog.csdn.net/hairetz/archive/2009/06/19/4281931.aspx
gzu112 2009-10-23
  • 打赏
  • 举报
回复
UP
Wolf0403 2009-10-23
  • 打赏
  • 举报
回复
去看MPI吧。

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧