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

网站优化免费软件起飞页做网站

网站优化免费软件,起飞页做网站,网站建设是什么?,宜昌市住房和城乡建设官方网站C 20 并发编程 std::promise std::promise和std::future是一对, 通过它们可以进行更加灵活的任务控制 promise通过函数set_value()传入一个值, 异常, 或者通知, 并异步的获取结果 例子: void product(std::promiseint intPromise, int a, int b) {intPro…C 20 并发编程 std::promise std::promise和std::future是一对, 通过它们可以进行更加灵活的任务控制 promise通过函数set_value()传入一个值, 异常, 或者通知, 并异步的获取结果 例子: void product(std::promiseint intPromise, int a, int b) {intPromise.set_value(a * b); }int main(int argc, char* argv[]) {int a 666;int b 999;std::promiseint productPromise;std::futureint productResult productPromise.get_future();std::jthread productThread(product, std::move(productPromise), a, b);std::cout std::format(product is {}\n, productResult.get()); }std::future: 从promise获取值询问值是否可用等待通知创建shared_future 成员函数 (构造函数)构造 future 对象 (公开成员函数)(析构函数)析构 future 对象 (公开成员函数)operator移动future对象 (公开成员函数)share从 *this 转移共享状态给 shared_future 并返回它 (公开成员函数)获取结果get返回结果 (公开成员函数)状态valid检查 future 是否拥有共享状态 (公开成员函数)wait等待结果变得可用 (公开成员函数)wait_for等待结果如果在指定的超时间隔后仍然无法得到结果则返回。 (公开成员函数)wait_until等待结果如果在已经到达指定的时间点时仍然无法得到结果则返回。 (公开成员函数) std::future_status 调用后wait_for或者wait_until返回的结果 enum class future_status {ready, //成功timeout, //超时deferred //延迟 };例子: void getAnswer(std::promiseint intPromise) {std::this_thread::sleep_for(2s);intPromise.set_value(100); }int main(int argc, char* argv[]) {std::promiseint answerPromise;auto fut answerPromise.get_future();std::jthread productThread(getAnswer, std::move(answerPromise));std::future_status status{};do{status fut.wait_for(0.5s);std::cout 结果未准备完成 \n\n;}while (status ! std::future_status::ready);std::cout std::format(answer is {}\n , fut.get()); }std::shared_future 类模板 std::shared_future 提供访问异步操作结果的机制类似 std::future 除了允许多个线程等候同一共享状态。不同于仅可移动的 std::future 故只有一个实例能指代任何特定的异步结果std::shared_future 可复制而且多个 shared_future 对象能指代同一共享状态。 但即使使用std::shared_future, 若我们从多个线程访问同一个对象, 就必须采取锁来保护以避免竞争 所以我们最好向每个线程传递std::shared_future对象的副本, 保证每个线程独有, 这样就不会发生数据竞争了 若每个线程通过其自身的 shared_future 对象副本访问则从多个线程访问同一共享状态是安全的。 两种方式获取std::shared_future std::shared_futureint fut answerPromise.get_future();std::future::share std::promiseint p; std::futureint f(p.get_future()); assert(f.valid()); future对象f有效 std::shared_futureint sf(std::move(f)); assert(!f.valid()); 对象f不再有效 assert(sf.valid()); 对象sf开始生效例子: struct Div {void operator()(std::promiseint intPromise, int a, int b){intPromise.set_value(a / b);} };struct Requestor {void operator ()(std::shared_futureint shaFut){std::lock_guardstd::mutex coutGuard(coutMutex);std::cout threadId( std::this_thread::get_id() ): ;std::cout 20/10 shaFut.get() std::endl;} };int main() {std::cout std::boolalpha std::endl;std::promiseint divPromise;std::futureint divResult divPromise.get_future();std::cout divResult.valid(): divResult.valid() std::endl;Div div;std::jthread divThread(div, std::move(divPromise), 20, 10);std::cout divResult.valid(): divResult.valid() std::endl;std::shared_futureint sharedResult divResult.share();std::cout divResult.valid(): divResult.valid() \n\n;Requestor req;std::jthread sharedThread1(req, sharedResult);std::jthread sharedThread2(req, sharedResult);std::jthread sharedThread3(req, sharedResult);std::jthread sharedThread4(req, sharedResult);std::jthread sharedThread5(req, sharedResult); }
http://www.huolong8.cn/news/444710/

相关文章:

  • 住房和城乡建设部网站三定网站建设中的板块名称
  • 谷歌网站地图生成器网站建设了推广方案
  • 集团网站建设网络公司手机网站开发书籍
  • 海口 网站开发win系统没有wordpress
  • 钓鱼网站 企业形象优化方案英语必修一答案
  • 医疗网站跳出率公司网址备案能用多少网站
  • wordpress免费主题 开源洛阳网站建设seo
  • 网站宽度设计WordPress允许用户修改评论
  • 烟台制作网站关键词排名优化方案
  • 快速建手机网站做众筹网站要什么资质
  • 岳池发展建设集团有限公司门户网站国内外c2c网站有哪些
  • 公司 网站 苏州建新网站开发流程图
  • 做H5哪个网站字体漂亮一些wordpress多个域名
  • google网站建设代理二手域名
  • 网站网页设计的组成图片素材网站建设
  • 重庆建设摩托车网站网站开发补充合同范本
  • 网站页面布局图建筑工程网格化区域划片管理制度
  • 校园网网站建设规划书网络营销的基本流程
  • 浙江省网站集约化建设厦门公司注册网址
  • 成都快速做网站安徽建设工程信息网招标公告
  • 微信网站程序长兴县住房建设局网站
  • 做网站技术服务合同域名备案掉了网站还可以用吗
  • 做本地旅游网站做网站的一般多钱
  • 许昌网站建设汉狮怎么样宝客上海网络科技有限公司
  • 建筑工程网站搭建手机画平面图软件
  • 购物网站的建设的好处html5高端网站建设织梦模板
  • 百度恶意屏蔽网站天津港电子商务网
  • 顺德网站建非法网站怎么推广
  • 无锡网站制作有哪些唐山住房和城乡建设局网站
  • 长沙市网站建设公司代理商军事新闻头条2023