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

做微信小程序和网站那个简单网站空间推荐

做微信小程序和网站那个简单,网站空间推荐,修改WordPress上传图片时间,长沙装修公司招聘信息异步并发——async future packaged_task promise 1.async、future 是C11引入的一个函数模版#xff0c;用于异步执行一个函数#xff0c;并返回一个future对象#xff0c;表示异步操作的结果。使用 async 可以方便地进行异步编程#xff0c;避免了手动创建线程和管理线程…异步并发——async future packaged_task promise 1.async、future 是C11引入的一个函数模版用于异步执行一个函数并返回一个future对象表示异步操作的结果。使用 async 可以方便地进行异步编程避免了手动创建线程和管理线程的麻烦。  代码参考 #includeiostream #includefuture #includethread using namespace std;int func() {int i 0;for (int j 0; j 1000; j) {i;}return i; }int main() {futureint future_result async(launch::async, func);cout func() endl;cout future_result.get() endl;return 0; } 这个例子中使用了async函数异步执行了一个耗时的计算这个计算可以在另一个线程中执行不会阻塞主线程。同时我们也避免了手动创建线程和管理线程的麻烦。 2.packaged_task  在C中packaged_task是一个类模板用于将一个可调用对象如函数、函数对象或Lambda表达式封装成一个异步撮作并返回一个std::future对象表示异步操作的结果。packaged_task可以方便地将一个函数或可调用对象转换成一个异步操作供其他线程使用。 代码参考 #includeiostream #includefuture #includethread using namespace std;int func() {int i 0;for (int j 0; j 1000; j) {i;}return i; }int main() {packaged_taskint() task(func);futureintfuture_result task.get_future();thread t1(move(task));cout func() endl;t1.join();cout future_result.get() endl;return 0; } 在这个例子中我们成功地将一个函数封装成了一个异步操作并在其他线程中执行。通过packaged_task和future对象我们可以方便地实现异步编程使得代码更加简洁和易于维护。  3.promise 在C中promise是一个类模版用于在一个线程中产生一个值并在另一个线程中获取这个值。promise通常与future和async一起使用用于实现异步编程。 #includeiostream #includefuture using namespace std;void fun(promiseint f) {f.set_value(1000); //传入数据 }int main() {promiseint f;auto future_result f.get_future();thread t1(fun, ref(f));t1.join();cout future_result.get() endl;return 0;} 实现一个数据的传入和使用。  原子操作 atomic std::atomic 是 C11 标准库中的一个模板类用于实现多线程环境下的原子操作。它提供了一种线程安全的方式来访问和修改共享变量可以避免多线程环境中的数据竞争问题。 std::atomic 的使用方式类似于普通的 C 变量但是它的操作是原子性的。也就是说在多线程环境下多个线程同时对同一个 std::atomic 变量进行操作时不会出现数据竞争问题。 以下是一些常用的 std::atomic 操作 load()将 std::atomic 变量的值加载到当前线程的本地缓存中并返回这个值。store(val)将 val 的值存储到 std::atomic 变量中并保证这个操作是原子性的。exchange(val)将 val 的值存储到 std::atomic 变量中并返回原先的值。compare_exchange_weak(expected, val) 和 compare_exchange_strong(expected, val)比较 std::atomic 变量的值和 expected 的值是否相同如果相同则将 val 的值存储到 std::atomic 变量中并返回 true否则将 std::atomic 变量的值存储到 expected 中并返回 false。 代码参考 #includeiostream #includethread #includeatomic using namespace std;//原子量 atomicint sharted_data 0; void func() {for (int i 0; i 10000; i) {sharted_data; //对原子量数据操作是线程安全的 } } int main() {thread t1(func);thread t2(func);t1.join();t2.join();cout sharted_data endl;return 0; }
http://www.w-s-a.com/news/675780/

相关文章:

  • 做网站和app需要多久河南自助建站建设代理
  • 大连做企业网站的公司宣传平台有哪些类型
  • 如何用微信做网站免费设计logo网站有哪些
  • 服务平台型网站余姚网站定制
  • 网站搭建联系方式太平阳电脑网网站模板
  • 请简述网站制作流程html5网络公司网站模板
  • 海尔集团企业网站建设分析重庆市建设银行网站
  • 介绍公司的网站有哪些广西壮族自治区
  • 网站做rss wordpress9 1短视频安装软件
  • 网站建设价格西安室内设计网站排行榜前十名知乎
  • 用nas建设服务器网站用vs做音乐网站
  • 天津市武清区住房建设网站网站自适应框架
  • 制作移动网站公司网站开发职业规划
  • 网站头部怎样做有气势wordpress 页面 锚
  • 秦皇岛网站建设系统推荐个人网站免费制作
  • 我做夫人那些年网站登录wordpress 扫码付费
  • 网站关键词代码怎么做公司 网站建设
  • 哈尔滨多语言网站建设wordpress分类链接
  • 购物网站项目介绍软件开发流程的五大步骤
  • 做的网站怎么放在网上2008 iis搭建网站
  • 网站维护服务公司上海兼职网站制作
  • 企业做网站需要多少钱湘潭九华网站
  • 嘉兴建站服务微营销官网
  • 比较好的网页模板网站浦项建设(中国)有限公司网站
  • 有趣的个人网站网页设计与制作的岗位职责
  • 有建设网站的软件吗长沙做网站的公司对比
  • 网站的外链接数中铝长城建设有限公司网站
  • 北京建设网站公司网站建设费用 无形资产
  • 适合seo的建站系统如何建立网页
  • 我想自己建立一个网站给大家分享个永久免费的云服务器