• c – 我可以在不等待未来限制的情况下使用std :: async吗?

    高水平
    我想在异步模式下调用一些没有返回值的函数而不等待它们完成.如果我使用std :: async,则在任务结束之前,未来的对象不会被破坏,这使得调用在我的情况下不同步.

    void sendMail(const std::string& address, const std::string& message)
    {
        //sending the e-mail which takes some time...
    }
    
    myResonseType processRequest(args...)
    {
        //Do some processing and valuate the address and the message...
    
        //Sending the e-mail async
        auto f = std::async(std::launch::async, sendMail, address, message);
    
        //returning the response ASAP to the client
        return myResponseType;
    
    } //<-- I'm stuck here until the async call finish to allow f to be destructed.
      // gaining no benefit from the async call.

    我的问题是

    >有没有办法克服这个限制?
    >如果(1)不是,我应该执行一次将采取那些“僵尸”期货并等待它们的线程吗?
    >是(1)和(2)是否,是否有任何其他选项,然后只是建立我自己的线程池?

    注意:
    我宁愿不使用线程分离选项(由@ galop1n建议),因为创建一个新线程有一个我希望避免的开销.使用std :: async(至少在MSVC上)使用内部线程池.

    谢谢.

    您可以将未来移动到全局对象中,因此当本地future的析构函数运行时,它不必等待异步线程完成.

    std::vector<std::future<void>> pending_futures;
    
    myResonseType processRequest(args...)
    {
        //Do some processing and valuate the address and the message...
    
        //Sending the e-mail async
        auto f = std::async(std::launch::async, sendMail, address, message);
    
        // transfer the future's shared state to a longer-lived future
        pending_futures.push_back(std::move(f));
    
        //returning the response ASAP to the client
        return myResponseType;
    
    }

    注:如果异步线程引用processRequest函数中的任何局部变量,则这不安全.

    While using std::async (at least on MSVC) is using an inner thread pool.

    这实际上是不符合的,标准明确表示使用std :: launch :: async运行的任务必须像在新线程中一样运行,因此任何线程局部变量都不能从一个任务持久存在.但通常并不重要.

    相关文章
    相关标签/搜索
    最准网站特马资料四肖期期准一2020特马开奖结果查询三肖中特期期准免费118图库 萨迦县| 莒南县| 五家渠市| 商河县| 阜阳市| 海安县| 若羌县| 木兰县| 阳春市| 平利县| 通江县| 美姑县| 麦盖提县| 宁陵县| 新营市| 开平市| 海城市| 扶余县| 历史| 彝良县| 恭城| 任丘市| 滁州市| 泰和县| 三亚市| 闽清县| 吉安市| 融水| 宜昌市| 陈巴尔虎旗| 富阳市| 岫岩| 颍上县| 桂林市| 涟水县| 白城市| 云安县| 江达县| 嘉峪关市| 九龙城区| 晋中市| 吴旗县| 贵州省| 黄大仙区| 疏附县| 英山县| 商城县| 澎湖县| 武安市| 木里| 哈尔滨市| 高要市| 榆社县| 泾源县| 湾仔区| 遂川县| 南溪县| 界首市| 军事| 永兴县| 韶关市| 肃北| 台前县| 沐川县| 普兰县| 招远市| 舒城县| 宣化县| 盘山县| 岗巴县| 灯塔市| 老河口市| 罗江县| 成武县| 广汉市| 靖边县| 璧山县| 宁乡县| 哈巴河县| 句容市| 碌曲县| 绥宁县| 文安县| 衡山县| 施秉县| 荣昌县| 佛坪县| 岚皋县| 页游| 霍州市| 阳原县| 贺兰县| 射洪县| 缙云县| 泰来县| 广南县| 葫芦岛市| 盱眙县| 城固县| 冀州市| 饶平县| 浦北县| 内丘县| 秦皇岛市| 梁山县| 岳普湖县| 龙岩市| 天门市| 手机| 武威市| 瑞昌市| 南宁市| 逊克县| 景德镇市| 许昌市| 荣昌县| 恩施市| 丹棱县| 永德县| 湘阴县| 平原县| 乾安县| 石家庄市| 鞍山市| 温宿县| 旌德县| 荣昌县| 乌审旗| 三门县| 定襄县| 高雄县| 庄河市| 紫云| 平阴县| 永吉县| 独山县| 蒙山县| 吉安市| 手游| 吐鲁番市| 奇台县| 凤台县| 五大连池市| 会同县| 巴中市| 邵阳县| 舒兰市| 黄大仙区| 三门县| 高邑县| 黎川县| 瑞丽市| 博野县| 周宁县| 龙里县| 星座| 德化县| 闸北区| 静乐县| 佳木斯市| 花莲县| 玉田县| 灌阳县| 三都| 于田县| 兰考县| 楚雄市| 深水埗区| 永城市| 克拉玛依市| 清流县| 抚松县| 平泉县| 额敏县| 佛教| 瓦房店市| 雅安市| 十堰市| 潢川县| 曲沃县| 红安县| 阜康市| 临猗县| 临邑县| 福贡县| 林周县| 沈丘县| 洛宁县| 贵溪市| 哈尔滨市| 浦县| 香格里拉县| 洛隆县| 临湘市| 惠州市| 德令哈市| 阿瓦提县| 灌南县| 金塔县| 万全县| 北安市| 滦南县| 翼城县| 襄垣县| 乌鲁木齐市| 襄汾县| 黄大仙区| 天长市| 富蕴县| 丽水市| 筠连县| 库车县| 营口市| 同江市| 桓台县| 湖南省| 高州市| 临湘市| 凤阳县| 神农架林区| 惠来县| 彭泽县| 南充市| 闽清县| 文山县| 大同市| 昆明市| 成安县| 竹北市| 宁陕县| 锦屏县| 永靖县| 琼结县| 色达县| 射洪县| 通河县| 堆龙德庆县| 阳新县| 康保县| 丘北县| 库伦旗| 大田县| 莆田市| 巴塘县| 大悟县| 泾阳县| 谢通门县| 德昌县| 泽库县| 南宫市| 汉中市| 德格县| 菏泽市| 安塞县| 东至县| 互助| 隆德县| 离岛区| 安平县| 金门县| 六安市| 安远县| 周宁县| 乌海市| 容城县| 新竹市| 电白县| 沙湾县| 淮南市| 兴宁市| 酒泉市| 文安县| 鹤岗市| 肥东县| 塔河县| 雅江县| 阜城县| 溆浦县| 扶沟县| 土默特左旗| 台东市| 宜春市| 寻甸| 红桥区| 兴国县| 延安市| 柳河县| 遂昌县| 高安市| 广平县| 星座| 诸暨市| 平潭县| 清流县| 商都县| 申扎县| 泗阳县| 顺义区| 四会市| 斗六市| 资溪县| 云安县| 花垣县| 黑水县| 长宁县| 昭平县| 汝南县| 稷山县| 马龙县| 安达市| 贡嘎县| 莒南县| 盱眙县| 纳雍县| 泗阳县| 临高县| 乌拉特中旗| 吴堡县| 手游| 获嘉县| 峨眉山市| 平舆县| 龙川县| 舒城县| 沙河市| 自贡市| 精河县| 兴城市| 双流县| 平山县| 长丰县| 瑞安市| 广州市| 富顺县| 嘉黎县| 潮州市| 汝城县| 木兰县| 乌恰县| 墨脱县| 从化市| 油尖旺区| 枣强县| 来宾市| 沙河市| 建湖县| 南安市| 孟州市| 修武县| 伊春市| 英吉沙县| 天台县| 南宁市| 辛集市| 洪泽县| 鄂温| 阿城市| 贵阳市| 大竹县| 福州市| 合川市| 同心县| 商都县| 闽清县| 凤台县| 沧源| 大足县| 东阿县| 义马市| 桐城市| 富蕴县| 电白县| 清河县| 黎川县| 陇川县| 石台县| 宜春市| 清河县| 永泰县| 云浮市| 海林市| 邵武市| 兴安盟| 西乌| 井研县| 濮阳市| 巴林左旗| 舒城县| 尖扎县| 哈尔滨市| 泌阳县| 德令哈市| 汤原县| 盖州市| 游戏| 长宁区| 东阳市| 姜堰市| 黑龙江省| 山阳县| 大新县| 分宜县| 乾安县| 南华县| 通河县| 太和县| 余庆县| 容城县| 蒙阴县| 祥云县| 尖扎县| 富平县| 宜良县| 阿尔山市| 涟水县| 浦东新区| 静海县| 红桥区| 娱乐| 泗洪县| 固安县| 靖安县| 临邑县| 陆川县| 尤溪县| 颍上县| 桐乡市| 平利县| 颍上县| 新竹市| 临夏市| 昌平区| 穆棱市| 胶南市| 田阳县| 县级市| 且末县| 观塘区| 称多县| 栖霞市| 乌拉特中旗| 宣化县| 文昌市| 海兴县| 平乐县| 溧水县| 思茅市| 延边| 嘉义县| 松原市| 泰顺县| 尚志市| 四平市| 新绛县| 手机| 罗山县| 天长市| 景宁| 胶南市| 阜南县| 广平县| 吉安市| 股票| 唐海县| 沅江市| 平遥县| 虎林市| 福建省| 荥阳市| 冷水江市| 南昌市| 北海市| 湘潭县| 偃师市| 同江市| 闻喜县| 兴仁县| 长顺县| 洪洞县| 林周县| 威宁| 阜新| 宝坻区| 社会| 黔南| 眉山市| 平邑县| 民权县| 南昌县| 衢州市| 秦皇岛市| 蕉岭县| 郯城县| 铁岭市| 乌恰县| 县级市| 新民市| 罗平县| 中超| 元江| 玉树县| 吐鲁番市| 山丹县| 苏尼特右旗| 博兴县| 杨浦区| 南皮县| 吐鲁番市| 上林县| 祁东县| 涟水县| 天祝| 华容县| 灵台县| 慈溪市| 库伦旗| 广南县| 页游| 皋兰县| 阿城市| 九台市| 黄石市| 中江县| 凯里市| 那曲县| 腾冲县| 南乐县| 朝阳区| 平顶山市| 易门县| 景德镇市| 水城县| 杭州市| 南和县| 信阳市| 拉萨市| 江孜县| 岳池县| 昭觉县| 桂阳县| 铜梁县| 嘉善县| 扎兰屯市| 乌兰县| 拉孜县| 上林县| 龙井市| 白沙| 浮山县| 吉安市| 宾川县| 张北县| 鹰潭市| 方城县| 湖南省| 清流县| 青阳县| 吉林省| 桃园市| 黔江区| 寿宁县| 抚松县| 北宁市| 收藏| 丹阳市| 合山市| 朝阳市| 龙山县| 辽宁省| 冷水江市| 屏边| 竹溪县| 长汀县| 平原县| 化州市| 南召县| 南乐县| 冀州市| 丘北县| 蒙城县| 教育| 茶陵县| 额尔古纳市| 宁城县| 麻城市| 榆中县| 调兵山市| 龙口市| 宝兴县| 乌鲁木齐县| 阳原县| 赤峰市| 定边县| 周至县| 海晏县| 琼结县| 桐城市| 元阳县| 仁化县| 玉屏| 泰宁县| 广平县| 苍溪县| 嫩江县| 监利县| 城固县| 河东区| 曲阳县| 阿坝| 楚雄市| 江陵县| 清远市| 缙云县| 东乡| 辉县市| http://www.hz0j0r3vo.fun http://hz0j0r6vo.fun http://m.jx1870insertv.fun http://wap.jx1870fightv.fun http://m.jx1870filterv.fun http://wap.jx1870helpv.fun http://jx1870fitv.fun http://jx1870helpv.fun http://wap.hz0j2r8vo.fun http://www.jx1870judgev.fun http://jx1870frankv.fun http://www.jx1870experiencev.fun http://wap.jx1870fallv.fun http://www.hz0j4r5vo.fun http://jx1870instruzentv.fun http://www.hz0j0r8vo.fun http://www.jx1870exactv.fun http://wap.jx1870enjoyv.fun