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

Different task running at the same time on a C++ program

本文关键字:任务 运行 C++ 程序上      更新时间:2023-10-16

我是一名工业工程专业的学生,我想到了一个使用ROS的非常酷的应用程序。我知道这不是一个关于ROS的特定论坛,但由于我是用C++编程的,这个问题与C++比ROS更相关,我相信这是一个很好的地方来问我的问题。

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

    • 多线程编程和并行编程之间有哪些区别
    • 对于C++程序来说,哪一个可能是最好的选择
    • 如何在C++程序上实现这些方法
    • 对于刚开始学习这个话题的人,有什么指南吗

提前感谢您的帮助!

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

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

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

关于如何使用并行编程来提高代码性能的好指南可以在这里找到

"并行性"或"并行计算"是指任何利用计算硬件资源的技术,这些硬件能够在同一时间做比传统单CPU计算机更多的事情,从移动平台到GPU编程,再到尚未逃离大学实验室的脉动阵列处理器和连接机等深奥事物。

"多线程"是几种流行的技术之一,这些技术扩展了传统过程编程语言的功能,使我们能够在单个进程内同时进行多个不同的活动。并行性是并发性的一个子集。如果您拥有合适的硬件和操作系统,任何能够在单个进程中同时发生的活动都可能并行发生。

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

使用标准C++库中的线程功能。