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

做网站之前的前期百度热搜榜小说排名

做网站之前的前期,百度热搜榜小说排名,中国企业报,建立属于我们的网站异步 异步编程是一种程序设计范式,​​允许任务在等待耗时操作(如I/O、网络请求)时暂停执行,转而处理其他任务,待操作完成后自动恢复​​。其核心目标是​​避免阻塞主线程​​,提升程序的并发性和响应速度…

异步

异步编程是一种程序设计范式,​​允许任务在等待耗时操作(如I/O、网络请求)时暂停执行,转而处理其他任务,待操作完成后自动恢复​​。其核心目标是​​避免阻塞主线程​​,提升程序的并发性和响应速度。

简单来说:就是不阻塞当前主线程,创建子线程,交给子线程操作

但是线程之前的数据通信较为麻烦所以有了以上操作函数和类

1.async

future类的作用是保存异步操作的结果,从而实现线程间的数据交换

deferred是同步,async是异步

aysnc(deferred/async, 函数名,参数);

#include<iostream>
#include<future>
#include<thread>
#include<chrono>
int add(int a,int b)
{std::cout<<"add "<<std::endl;return a+b;
}
int main()
{std::future<int> res =std::async(std::launch::async,add,10,11);std::this_thread::sleep_for(std::chrono::seconds(1));std::cout<<"---------------------"<<std::endl;std::cout<<"result: "<<res.get()<<std::endl;return 0;
}

执行结果:可以看到先执行了函数里的内容,没有因为主线程的sleep导致运行暂停

2.package_task

可以看到package_task相当于是对async进行了任务封装,

对于一个函数可以方便的重复调用

#include<iostream>
#include<future>
#include<thread>
#include<memory>
#include<chrono>
int add(int a,int b)
{std::cout<<"add "<<std::endl;return a+b;
}int main()
{auto task= std::make_shared<std::packaged_task<int(int,int)>>(add);std::future<int> ret=task->get_future();std::thread thr([&task](){(*task)(11,12);    });std::this_thread::sleep_for(std::chrono::seconds(1));std::cout<<"-------------"<<std::endl;std::cout<<"result: "<<ret.get()<<std::endl;;thr.join();return 0;
}

也是进行了一次异步操作

3.promise

对运行结果进行封装,在运行函数中将结果设置到promise中

#include <iostream>
#include <future>
#include <thread>
#include <memory>
#include <chrono>
int add(int a, int b)
{std::cout << "add " << std::endl;return a + b;
}
void task(std::promise<int> &prm)
{int ret = add(12, 3);std::this_thread::sleep_for(std::chrono::seconds(1));prm.set_value(ret);
}
int main()
{std::promise<int> prm;std::future<int> res = prm.get_future();std::thread thr([&prm](){ task(prm); });int ret = res.get();std::cout << "result: " << ret << '\n';thr.join();return 0;
}

运行结果

4.总结

http://www.dtcms.com/wzjs/236360.html

相关文章:

  • 网站开发设计技术seo关键词排名优化怎么收费
  • 金昌做网站北京搜索引擎推广服务
  • 专业科技网站建设万物识别扫一扫
  • 网站如何设置长尾词seo每天一贴
  • 仿站软件百度认证平台
  • 专业的网站开发服务打开百度网页
  • 安徽建设部网站企业培训机构排名前十
  • 知名网站制作公司排名互联网营销师考证多少钱
  • 企业网站推广方案范例代刷网站推广链接免费
  • 夜晚必备直播软件seo排名赚app最新版本
  • 六安网约车资格证在哪里办seopc流量排行榜企业
  • 新网站建设的感想p2p万能搜索引擎
  • 厦门站长优化工具如何做一个自己的网站
  • 中国建设厅或是建委的网站长沙网站seo公司
  • thinkphp网站开发教程百度一下官网首页下载
  • 网站制作企业对比上海网站营销seo方案
  • 怎么做网站链接淘数据官网
  • 小程序定制公司有哪些温州seo网站建设
  • 唐山网站制作服务公司个人怎么做网络推广
  • 做网站有哪个软件好百度关键词价格排行榜
  • 做智能网站谷歌推广代理公司
  • 备案用网站建设方案书软文范例大全800字
  • 黔江区建设委员会网站百度官网
  • 目前做啥网站致富整合营销传播策略
  • 专门做任务的网站吗怎样建网站
  • 做去自己的网站首页整站seo排名要多少钱
  • 网站开发岗位就业分析培训网站排名
  • 淄博做网站建设的公司营销策划的八个步骤
  • 大站网站建设市场推广策略 包括哪些
  • wordpress查询表单广州seo搜索