当前位置: 首页 > news >正文

深圳建站公司兴田德润电话多少网站建立具体步骤是

深圳建站公司兴田德润电话多少,网站建立具体步骤是,北京黄村专业网站建设价钱,中铁招标在哪个平台主要是为Ai算法中要使用到C的多线程,这是使用C11中的多线程std::thread。 在现代数学、物理和计算机科学中,优化和加速应用程序开发在编程中非常重要,以加快计算速度。多核心CPU和GPU通过核心和晶体管的数量得到了高度发展,为当今…

主要是为Ai算法中要使用到C++的多线程,这是使用C++11中的多线程std::thread。

在现代数学、物理和计算机科学中,优化和加速应用程序开发在编程中非常重要,以加快计算速度。多核心CPU和GPU通过核心和晶体管的数量得到了高度发展,为当今的服务器和计算机提供了更多的计算能力。因此,我们可以通过使用 std::thread 在我们的应用程序中使用更多的核心和线程。我们可以使用 std::thread 类进行多线程操作,本文将解释如何使用 std::thread 以及如何用现代C++示例使用它。

人工智能、图像-视频处理、计算力学、流体动力学等需要在多线程中使用所有核心。std::thread 类是在C++11中引入的,定义在 <thread> 头文件中的一个特殊类,它属于并发支持库

让我们通过一些非常简单的例子来看看它是如何工作的。

现代C++中的 std::thread 是什么?

在现代C++中,一个并发支持库被设计来解决多线程操作中的问题。这个库包括内置的线程支持(std::thread)、原子操作(std::atomic)、互斥(std::mutex)、条件变量(std::condition_variable)等许多特性。

std::thread 类是在 <thread> 头文件中定义的一个特殊类,它允许多个函数并发执行,并代表一个单一的执行线程。

我们可以使用线程的 join() 方法等待线程完成执行。在这里,当我们调用 join 方法时,thread 对象变为 non-joinable,并且可以安全地被销毁,当线程执行完成后返回。

让我们看看我们如何在不同的函数定义中使用 std::thread

现代C++中使用 std::thread 运行函数的示例?

这里有一个非常简单的例子,它在一个单独的线程 myt 中运行 myf() 函数。

#include <thread>
void myf(int r) {double a = M_PI * r * r;
}
int main() {std::thread myt(myf, 5); // 将 myf(5) 添加到线程myt.join(); // 连接线程以等待线程执行
}

现代C++中使用 std::thread 运行类方法的示例?

这是一个 std::thread 示例,它在一个类对象 o1 中运行 myf() 函数。

#include <thread>
class Tx {
public:void myf(int r) {double a = M_PI * r * r;}
};
int main() {Tx o1;std::thread myt(&Tx::myf, &o1, 5); // 将 myf(5) 添加到线程myt.join(); // 连接线程以等待线程执行
}

这里还有另一个好例子,展示如何使用线程向量使用更多线程。

在C++中,向量(vector)是现代C++中非常灵活的数组形式。我们可以将 std::vectorstd::thread 类一起用于多线程操作。本文提供了一个非常好的例子,展示了如何结合使用 std::threadstd::vector

首先,让我们回顾一下C++中的向量和线程。

目录

  • 什么是C++中的 std::vector
  • 什么是C++中的 std::thread
  • 如何在C++多线程中使用 std::thread 与 std::vector
  • 有没有一个完整的示例,展示如何在C++中结合使用 std::thread 与 std::vector

什么是C++中的 std::vector

向量(Vectors) 是包含在现代C++的 <vector> 库中的动态数组。当向量中插入或删除成员时,它们可以自动调整大小。向量与动态数组类似,这些动态数组由容器自动管理。向量是现代C++的方式;它们的成员被放置在连续的内存存储中;因此,它们可以被调整大小,并且可以使用迭代器进行访问和遍历。可以使用以下语法定义向量:

std::vector<object type> variable_name;

我们可以声明一个整数类型的 vec 向量,如下所示。

std::vector<int> vec;

我们可以使用 push_back() 方法向这个向量添加新成员。如果您是向量的新手,你可以在官网中查找vector的应用。

什么是C++中的 std::thread

在现代C++中,一个并发支持库被设计来解决多线程操作中的问题。这个库包括内置的线程支持(std::thread)、原子操作(std::atomic)、互斥(std::mutex)、条件变量(std::condition_variable)等许多特性。

std::thread 类是在 <thread> 头文件中定义的一个特殊类,它随着C++11引入,并且它允许多个函数并发执行,并代表一个单一的执行线程。我们可以使用线程的 join() 方法等待线程完成执行。

如何在C++多线程中使用 std::thread 与 std::vector

简单地说,我们可以创建一个包含线程类类型的向量,如下所示:

std::vector<std::thread> myt; // 线程向量

现在,我们可以使用 push_back() 方法和 std::thread() 向这个线程向量添加函数,并且我们可以使用 std::threadjoin() 方法在迭代中等待每个线程完成。在这里,线程的 join() 方法等待线程完成执行。在这里,当我们调用 join 方法时,thread 对象变为 non-joinable,并且可以安全地被销毁,当线程执行完成后返回。

让我们通过一个完整的示例来看看如何结合使用 std::threadstd::vector

有没有一个完整的示例,展示如何在C++中结合使用 std::thread 与 std::vector

这里有一个完整的 std::thread 示例,使用 std::vector 在给定的 MAXN 线程中运行 myf() 函数。

#include <iostream>
#include <vector>
#include <thread>
#define MAXN 16
double areas[MAXN];void myf(int r) {areas[r] = M_PI * r * r;
}int main() {std::vector<std::thread> myt; // 线程向量for (unsigned int i = 1; i < MAXN; i++) {myt.push_back(std::thread(&myf, i)); // 向线程向量添加函数}for (auto& t : myt) {t.join(); // 连接每个线程以等待线程执行}for (unsigned int i = 0; i < MAXN; i++) {std::cout << areas[i] << ",";}system("pause");return 0;
}

在这里我们使用了 myf() 函数。请注意,您也可以使用类对象的方法、函数对象和lambda表达式。

http://www.hkea.cn/news/177711/

相关文章:

  • 温州整站推广咨询seo网站推广专员
  • 企业营销型网站团队百度seo排名优化教程
  • 安徽平台网站建设哪里好网络策划与营销
  • 做网站接广告赚钱么凡科建站和华为云哪个好
  • 成都网站建设科技公seo营销外包公司
  • 重庆有哪些做网站 小程序的百度搜索引擎的特点
  • 仁怀哪里可以做网站自动秒收录网
  • 重庆市建设局网站推广软件一键发送
  • 合肥网络推广网络运营网站seo诊断分析和优化方案
  • 网站优化公司免费咨询sem优化推广
  • 个人做网站赚钱么宁波seo推荐推广平台
  • 员工支付做网站的费用分录成都营销型网站制作
  • 专业做网站的公司邢台专业做网站关键词搜索优化
  • 电商网站建设方案模板杭州百度首页优化
  • 网站建设服务价格东莞市网站建设
  • 网站开发所需要的的环境佛山网络推广哪里好
  • php网站的优点关键路径
  • 电子政务与网站建设 总结湖南网站推广
  • 境外网站做网站涉黄互联网媒体广告公司
  • 河南做网站公司汉狮怎么做蛋糕
  • 哈 做网站网店代运营收费
  • 制作网页的三大技术是什么郑州seo顾问
  • 网站建设报价流程行业网站网址
  • 提供邯郸做wap网站网页推广方案
  • 网站从域名广告营销公司
  • 网站链接的常见形式免费广告网
  • 微信微网站开发教程百度大数据平台
  • 网站服务设计引流推广是什么意思
  • 学校网站建设管理办法本周新闻热点事件
  • 网站移动版怎么做网站创建公司