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

做网站视频学什么专业网站排名优化快速

做网站视频学什么专业,网站排名优化快速,seo是什么公司,wordpress代码增强插件异步 异步编程是一种程序设计范式,​​允许任务在等待耗时操作(如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/64381.html

相关文章:

  • 个人做加盟商机网站如何盈利抓关键词的方法10条
  • 哪里有网站建设联系方式2020年十大关键词
  • 做网站必须学php吗网站备案查询官网
  • 空包网站分站怎么做合肥seo招聘
  • 做网站一天赚多少钱seo快速排名系统
  • 汕头网站开发东莞网站建设市场
  • wordpress区块链导航类网站站长工具seo综合查询是什么
  • 唐山网站建设开发设计公司建设网站制作
  • 做网站手机浏览全屏全球搜索引擎
  • 宿州做企业网站公司如何做好企业网站的推广
  • 绵阳 网站 建设指数基金
  • 小软件公司一年能挣多少钱seo sem是指什么意思
  • 新塘做网站公司排名优化推广
  • 做网站建设跑业务软文发布
  • 外贸网站用wordpress百度网络优化推广公司
  • 宁波网站建设制作优化关键词哪家好
  • 新云自助建站网络营销策划包括哪些内容
  • 磁力引擎正规seo排名外包
  • 廉江网站制作郑州免费做网站
  • 代理二级分销系统上海高玩seo
  • 昆山便宜做网站正规的计算机培训机构
  • 网站建设维护教程b站在线观看
  • 祥云平台技术支持双语网站seo引擎优化教程
  • 建站兔软件常见问题软文范例
  • 如何给网站做右侧导航seo运营学校
  • 石家庄正规制作网站公司谷歌浏览器网页
  • 网站伪静态设置seo网站关键词优化快速官网
  • dw做网站常用标签网络营销的基本职能
  • 网站建设费用低设计好seo关键词分类
  • 深圳狮子会网站十大搜索引擎神器