c++如何并行编程

 我来答
百度网友2556120
2014-01-07 · 超过49用户采纳过TA的回答
知道小有建树答主
回答量:103
采纳率:100%
帮助的人:56.1万
展开全部
多线程才可以啊,好比一个人的大脑,计算机也不能同时工作的,即使是多线程,也是交替使用cpu的资源的
tattackor
推荐于2018-03-22 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:893万
展开全部
1、C++没有专门的并行编程模式,但是可以用多线程,多进程来模拟并行编程。
2、例如在linux下,可以用fork函数来调用新进程。
  fork函数是计算机程序设计中的分叉函数。返回值: 若成功调用一次则返回两个值,子进程返回0,父进程返回子进程标记;否则,出错返回-1。
  fork函数将运行着的程序分成2个(几乎)完全一样的进程,每个进程都启动一个从代码的同一位置开始执行的线程。这两个进程中的线程继续执行,就像是两个用户同时启动了该应用程序的两个副本。
  函数原型
  pid_t fork( void);
  (pid_t 是一个宏定义,其实质是int 被定义在#include<sys/types.h>中)
  返回值: 若成功调用一次则返回两个值,子进程返回0,父进程返回子进程ID;否则,出错返回-1
  函数说明
  一个现有进程可以调用fork函数创建一个新进程。由fork创建的新进程被称为子进程(child process)。fork函数被调用一次但返回两次。两次返回的唯一区别是子进程中返回0值而父进程中返回子进程ID。
  子进程是父进程的副本,它将获得父进程数据空间、堆、栈等资源的副本。注意,子进程持有的是上述存储空间的“副本”,这意味着父子进程间不共享这些存储空间。
  UNIX将复制父进程的地址空间内容给子进程,因此,子进程有了独立的地址空间。在不同的UNIX (Like)系统下,无法确定fork之后是子进程先运行还是父进程先运行,这依赖于系统的实现。所以在移植代码的时候不应该对此作出任何的假设。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
df601562566
2014-01-07 · TA获得超过502个赞
知道小有建树答主
回答量:351
采纳率:100%
帮助的人:341万
展开全部
MPI并行程序。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chujiangke001
2014-01-07 · TA获得超过1605个赞
知道小有建树答主
回答量:1352
采纳率:0%
帮助的人:697万
展开全部
linxu 就是fork
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式