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

网站开发嫌工时长wordpress软件门户主题

网站开发嫌工时长,wordpress软件门户主题,wordpress插件看访问者数量,郑州做花店网站C 标准库中的 future 和 async 提供了一种便捷的方式来实现并发编程。std::async 是一个非常强大的工具#xff0c;它可以用于启动异步任务#xff0c;并返回一个 std::future 对象#xff0c;该对象可以用来等待任务的结果。 std::async 的基本用法 std::async 用于启动一…C 标准库中的 future 和 async 提供了一种便捷的方式来实现并发编程。std::async 是一个非常强大的工具它可以用于启动异步任务并返回一个 std::future 对象该对象可以用来等待任务的结果。 std::async 的基本用法 std::async 用于启动一个异步任务。它的基本语法如下 #include iostream #include future #include thread// 一个简单的函数模拟一些工作 int work(int x) {std::this_thread::sleep_for(std::chrono::seconds(2)); // 模拟延迟return x * x; }int main() {// 使用 std::async 启动异步任务并获取 std::future 对象std::futureint result std::async(std::launch::async, work, 10);// 在此处可以执行其他工作std::cout Doing other work... std::endl;// 获取异步任务的结果会阻塞直到结果准备好int value result.get();std::cout Result: value std::endl;return 0; }std::async 启动模式 std::async 提供了两种启动模式 std::launch::async任务在独立线程中异步执行。std::launch::deferred任务延迟执行直到 future 对象的 get 或 wait 方法被调用。 示例不同的启动模式 #include iostream #include future #include threadint work(int x) {std::this_thread::sleep_for(std::chrono::seconds(2));return x * x; }int main() {// 异步启动std::futureint async_result std::async(std::launch::async, work, 10);// 延迟启动std::futureint deferred_result std::async(std::launch::deferred, work, 20);// 在此处可以执行其他工作std::cout Doing other work... std::endl;// 获取异步任务的结果会阻塞直到结果准备好int async_value async_result.get();std::cout Async result: async_value std::endl;// 获取延迟任务的结果会在此时执行任务int deferred_value deferred_result.get();std::cout Deferred result: deferred_value std::endl;return 0; }使用 std::future 获取结果 std::future 提供了多种方法来获取任务结果 get阻塞当前线程直到任务完成并返回结果。wait阻塞当前线程直到任务完成。wait_for阻塞当前线程一段时间等待任务完成。wait_until阻塞当前线程直到指定时间等待任务完成。 示例使用 std::future 的不同方法 #include iostream #include future #include threadint work(int x) {std::this_thread::sleep_for(std::chrono::seconds(2));return x * x; }int main() {std::futureint result std::async(std::launch::async, work, 10);// 等待一段时间if (result.wait_for(std::chrono::seconds(1)) std::future_status::timeout) {std::cout Task is still running... std::endl;}// 再次等待直到任务完成result.wait();int value result.get();std::cout Result: value std::endl;return 0; }捕获异常 如果异步任务在执行过程中抛出异常std::future 的 get 方法会重新抛出该异常。可以通过捕获异常来处理任务中的错误。 示例捕获异常 #include iostream #include future #include stdexcept #include threadint work(int x) {if (x 0) {throw std::invalid_argument(x must be non-negative);}std::this_thread::sleep_for(std::chrono::seconds(2));return x * x; }int main() {// 启动一个会抛出异常的任务std::futureint result std::async(std::launch::async, work, -10);try {int value result.get(); // 这里会重新抛出异常std::cout Result: value std::endl;} catch (const std::exception e) {std::cout Exception: e.what() std::endl;}return 0; }总结 std::async用于启动异步任务可以指定启动模式async 或 deferred。std::future用于获取异步任务的结果提供多种方法get, wait, wait_for, wait_until。异常处理通过 std::future 的 get 方法可以捕获异步任务中抛出的异常。
http://www.zqtcl.cn/news/267339/

相关文章:

  • 网站模板用什么软件做泉州网站建设轩奇网讯
  • 网站开发必备人员网页设计图片居中代码
  • 网站列表页怎么做的百度seo优
  • 做网站销售好不好企业seo培训
  • 网站制作排版越南网站建设
  • 满城建设局网站我要买房网
  • 长沙百度提升排名南宁网站seo公司
  • 凡科网做网站怎样东莞寮步汽车城
  • 做百度网站费用多少基于html5的移动端网站开发
  • 专业做网站设计哪家好大型网站技术方案
  • 海外医疗兼职网站建设wordpress 最受欢迎主题
  • 网站改版方案案例入门级网页设计培训学员
  • 安徽优化网站运营平台
  • 小型企业网站设计教程面备案网站建设
  • 重庆业务外包网站建设办公室装修一般多少钱一个平方
  • 网站查询域名ip解析手机短视频网站的建设
  • 甘肃机械化建设工程有限公司网站微小店网站建设价格
  • 个人空间网站建设报告网络游戏交易平台
  • 深圳医疗网站建设中小企业网站功能
  • 汕头集团做网站方案建设网站要买空间吗
  • 宁波搭建网站专业展馆展厅设计公司深圳
  • 山东省建设工程电子信息网站广州开发区第一小学
  • 网站建设推广重要性河北高端网站建设
  • 网站的seo方案怎么做wordpress自动转内链
  • 番禺手机网站制作推广wordpress远程数据库
  • 企业网站seo外包 s深圳国内设计网站
  • 临海高端营销型网站建设地址免费网站alexa排名查询
  • 做企业网站的轻量级cms建设电子商务网站流程图
  • 淘宝网站设计分析国内在线免费服务器
  • wordpress网站文章加密网站建设 博采网络