std::promise使用

std::promise使用,第1张

std::promise和std::future配合,可以在线程之间传递数据

#include <iostream>

#include <future>

#include <chrono>

void Thread_Fun1(std::promise<int> &p)

{

    //为了突出效果,可以使线程休眠5s

    std::this_thread::sleep_for(std::chrono::seconds(5));

    int iVal = 233;

    std::cout << "input data (int):" << iVal << std::endl;

    //传入数据iVal

    pset_value(iVal);

}

void Thread_Fun2(std::future<int> &f)

{

    //阻塞函数,直到收到相关联的std::promise对象传入的数据

    auto iVal = fget(); //iVal = 233

    std::cout << "recv(int):" << iVal << std::endl;

}

int main()

{

    //声明一个std::promise对象pr1,其保存的值类型为int

    std::promise<int> pr1;

    //声明一个std::future对象fu1,并通过std::promise的get_future()函数与pr1绑定

    std::future<int> fu1 = pr1get_future();

    //创建一个线程t1,将函数Thread_Fun1及对象pr1放在线程里面执行

    std::thread t1(Thread_Fun1, std::ref(pr1));

    //创建一个线程t2,将函数Thread_Fun2及对象fu1放在线程里面执行

    std::thread t2(Thread_Fun2, std::ref(fu1));

    //阻塞至线程结束

    t1join();

    t2join();

    return 1;

}

1、使用axios进行>

promise  英 ['prɒmɪs]  美 ['prɑmɪs]

[ 过去式 promised 过去分词 promised 现在分词 promising ]

1、promise  作为名词,意思是许诺,允诺;希望

例You have my promise 给你我的承诺。

2、promise  作为及物动词,意思是允诺,许诺;给人以的指望或希望

例But you need to show him Promise me 但你一定要表现给他看,答应我。

3、promise作为不及物动词,许诺,承诺,保证

promise 侧重表自己的主观意向,设法用语言使人感到稳当可靠,所以很多“I promise”的句型。

[ + that ] The government have promised that they'll reduce taxes

政府已承诺要减税。

[ + (that) ] Promise me (that) you won't tell him

答应我你不会告诉他。

4、promise to do sth 承诺去做某事

例I promise to do all these things 我许诺做所有这些事情。

扩展资料:

例句

(1)He faithfully lived up to his promise

他忠实地实践了他的诺言。

(2)I redeemed my promise to my daughter by sending her a gift on herbirthday

女儿生日那一天我送给她一件礼物,履行了我对她的诺言。

(3)If you make a promise, abide by it

你如果做出诺言,就要履行诺言。

(4)One should keep to one's promise

(5)You have to remember your promise

你要记住你的承诺。

(6)Only promise me that you will smile 

不过您得答应我,您一定要笑。

(7)Promise what I tell you! 

答应我对你提出的要求!

vue等多个请求执行完再执行下一个方法可以用promiseall。

Promiseall可以将多个Promise实例包装成一个新的Promise实例。同时,成功和失败的返回值是不同的,成功的时候返回的是一个结果数组,而失败的时候则返回最先被reject失败状态的值。

Promseall在处理多个异步处理时非常有用,比如说一个页面上需要等两个或多个ajax的数据回来以后才正常显示。

需要特别注意的是,Promiseall获得的成功结果的数组里面的数据顺序和Promiseall接收到的数组顺序是一致的。

由于某些限制,三方后端服务一次性一页最多返回200条,由于某些原因,前端需要拿到所有数据做前端过滤等。

初次使用async await 实现顺序调用接口,速度较慢。

后续使用async await promise实现分组并发,优化数据获取速度。

优化渲染及 *** 作:后续对长列表做虚拟列表优化处理,或者前端切片分页处理。

以上就是关于std::promise使用全部的内容,包括:std::promise使用、vue获取后端多层数据、Promise用法详解等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10157091.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存