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

packaged_task 异步调用函数打包

packaged_task 异步调用函数打包

在这里插入图片描述

#include <thread>
#include <iostream>
#include <future>
#include <string>
using namespace std;
//期望调用函数和取返回值分开为二步走string TestPack(int index)//线程函数
{cout << "begin Test Pack " << index << endl;this_thread::sleep_for(2s);return "Test Pack return";
}
int main(int argc, char* argv[])
{packaged_task< string(int) > task(TestPack);//生成一个testauto result = task.get_future();//获取函数返回值//task(100);thread th(move(task),101);cout << "begin result get" << endl;//测试是否超时for (int i = 0; i < 30; i++){if (result.wait_for(100ms) != future_status::ready)//等待超时{continue;}}if (result.wait_for(100ms) == future_status::timeout)//如果等待超时{cout << "wait result timeout" << endl;}else//如果等待没有超时,取得结果cout << "result get " << result.get() << endl;th.join();getchar();return 0;
}

在这里插入图片描述


http://www.mrgr.cn/news/52410.html

相关文章:

  • AI驱动的零售未来:打造无缝、智能、个性化的购物新世界
  • Gitea迁移外部代码仓库
  • 嵌入式C语言面试相关知识——常见的四种通信协议:I²C、SPI、USART、CAN;一种数据通信机制:DMA
  • Mamba学习笔记(2)—序列数据处理基础
  • 建筑工程管理软件推荐,2024年最佳选择
  • Linux网络命令:轻量级的、用户友好的、监视每个进程或应用程序网络带宽使用的工具nethogs详解
  • C++【内存管理】(超详细讲解C++内存管理以及new与delete的使用和原理)
  • 【DDPG】DDPG的离散实现(含代码)
  • Android Framework AMS(04)startActivity分析-1(am启动到ActivityThread启动)
  • 点评项目-9-秒杀业务(加锁)、redis分布式锁
  • 联众优车积极应对二手车市场挑战,在变化的市场抓住发展机遇
  • 从零开始的LeetCode刷题日记:515.在每个树行中找最大值
  • mac 录屏(视频+内外部声音)
  • 【建议收藏】两万字总结Git的60个常用操作
  • PCL 点云配准 KD-ICP算法(精配准)
  • LVGL代码移植(裸机+FreeRTOS操作系统+内部SRAM+外部SRAM+内存管理算法+编译错误以及现象显示不正常)
  • 18. 位运算
  • torch-npu的配置+yolo
  • 十月编程语言排行榜~
  • 【数据结构】之链表详解