在C ++程序上同时运行的不同任务

我是一名工业工程学生,因此我想到了使用ROS的一个非常酷的应用程序。我知道这不是一个有关ROS的特定论坛,但是由于我使用C ++进行编程,而且这个问题与ROS相比与C ++的关系更大,所以我认为这是一个很好的提出问题的地方。

我的问题是我有一个ROS节点,必须执行三个不同的任务。这三个任务同等重要,因此必须同时运行。我对C ++编程并不陌生,但是我从未处理过此类问题。我通过互联网做了一些研究 多线程和并行编程,我仍然不知道彼此之间的区别。

    • 多线程和并行编程之间的区别是什么?
    • 哪个是C ++程序的最佳选择?
    • 如何在C ++程序上实现这些方法?
    • 是否有针对该主题入门人员的指南?

在此先感谢您的帮助!

ali_324 回答:在C ++程序上同时运行的不同任务

多线程描述了使一个程序并行运行多个任务的概念。

并行编程在您的代码中使用了一个并行概念(可能是多线程)。

您的问题2无法回答,因为一个使用另一个。

here

是有关如何使用并行编程来提高代码性能的良好指南。 ,

“并行”或“并行计算”是指利用计算硬件资源的任何技术,该技术能够同时完成比传统单CPU计算机更多的工作。这是一个广泛的主题,涵盖了从现代多CPU台式机,服务器和移动平台到GPU programmingsystolic array processorsconnection machines等深奥的事物,这些事物尚未从他们的大学实验室中逃脱出来

“多线程”是几种流行的技术之一,这些技术扩展了常规过程编程语言的功能,使我们可以在单个过程中发生 concurrently 多个不同的活动。并行是并发的子集。如果您具有正确的硬件和操作系统,那么可以在单个进程中同时发生的任何活动都可以并行发生。

  

如何在C ++程序上实现这些方法?

使用threading features in the standard C++ library

本文链接:https://www.f2er.com/3111229.html

大家都在问