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

怎么样给一个网站做横向导航栏微网站建设需付费吗

怎么样给一个网站做横向导航栏,微网站建设需付费吗,个人业务网站源码php,建设外贸网站价格C11中的std::async是个模板函数。std::async异步调用函数#xff0c;在某个时候以Args作为参数(可变长参数)调用Fn#xff0c;无需等待Fn执行完成就可返回#xff0c;返回结果是个std::future对象。Fn返回的值可通过std::future对象的get成员函数获取。一旦完成Fn的执行11中的std::async是个模板函数。std::async异步调用函数在某个时候以Args作为参数(可变长参数)调用Fn无需等待Fn执行完成就可返回返回结果是个std::future对象。Fn返回的值可通过std::future对象的get成员函数获取。一旦完成Fn的执行共享状态将包含Fn返回的值并ready。 std::async有两个版本 1.无需显示指定启动策略自动选择因此启动策略是不确定的可能是std::launch::async也可能是std::launch::deferred或者是两者的任意组合取决于它们的系统和特定库实现。 2.允许调用者选择特定的启动策略。 std::async的启动策略类型是个枚举类enum class launch包括 1. std::launch::async异步启动一个新的线程调用Fn该函数由新线程异步调用并且将其返回值与共享状态的访问点同步。 2. std::launch::deferred延迟在访问共享状态时该函数才被调用。对Fn的调用将推迟到返回的std::future的共享状态被访问时(使用std::future的wait或get函数)。 参数Fn可以为函数指针、成员指针、任何类型的可移动构造的函数对象(即类定义了operator()的对象)。Fn的返回值或异常存储在共享状态中以供异步的std::future对象检索。 参数Args传递给Fn调用的参数它们的类型应是可移动构造的。 返回值当Fn执行结束时共享状态的std::future对象准备就绪。std::future的成员函数get检索的值是Fn返回的值。当启动策略采用std::launch::async时即使从不访问其共享状态返回的std::future也会链接到被创建线程的末尾。在这种情况下std::future的析构函数与Fn的返回同步。 std::future介绍参考C11中std::future的具体使用方法_C 语言_脚本之家 详细用法见下面的测试代码下面是从其他文章中copy的测试代码部分作了调整详细内容介绍可以参考对应的reference #include iostream #include future #include chrono #include utility #include thread #include functional #include memory #include exception #include numeric #include vector #include cmath #include string #include mutexnamespace future_ {///// reference: http://www.cplusplus.com/reference/future/async/int test_async_1(){auto is_prime [](int x) {std::cout Calculating. Please, wait...\n;for (int i 2; i x; i){if (x%i 0){return false;}return true;}};// call is_prime(313222313) asynchronously:std::futurebool fut std::async(is_prime, 313222313);std::cout Checking whether 313222313 is prime.\n;// ...bool ret fut.get(); // waits for is_prime to returnif (ret) std::cout It is prime!\n;else std::cout It is not prime.\n;return 0;}///// reference: http://www.cplusplus.com/reference/future/launch/int test_async_2(){auto print_ten [](char c, int ms) {for (int i 0; i 10; i) {std::this_thread::sleep_for(std::chrono::milliseconds(ms));std::cout c;}};std::cout with launch::async:\n;std::futurevoid foo std::async(std::launch::async, print_ten, *, 100);std::futurevoid bar std::async(std::launch::async, print_ten, , 200);// async get (wait for foo and bar to be ready):foo.get(); // 注注释掉此句也会输出*bar.get();std::cout \n\n;std::cout with launch::deferred:\n;foo std::async(std::launch::deferred, print_ten, *, 100);bar std::async(std::launch::deferred, print_ten, , 200);// deferred get (perform the actual calls):bar.get();foo.get(); // 注注释掉此句则不会输出**********std::cout \n;return 0;}///// reference: https://en.cppreference.com/w/cpp/thread/asyncstd::mutex m;struct X {int testxx;void foo(int i, const std::string str) {std::lock_guardstd::mutex lk(m);std::cout str i \n;}void bar(const std::string str) {std::lock_guardstd::mutex lk(m);std::cout str \n;}int operator()(int i) {std::lock_guardstd::mutex lk(m);std::cout i \n;return i 10;}};template typename RandomItint parallel_sum(RandomIt beg, RandomIt end){auto len end - beg;if (len 1000)return std::accumulate(beg, end, 0);RandomIt mid beg len / 2;auto handle std::async(std::launch::async, parallel_sumRandomIt, mid, end);int sum parallel_sum(beg, mid);return sum handle.get();}int test_async_3(){std::vectorint v(10000, 1);std::cout The sum is parallel_sum(v.begin(), v.end()) \n;X x;x.testxx 8;// Calls (x)-foo(42, Hello) with default policy:// may print Hello 42 concurrently or defer executionauto a1 std::async(X::foo, x, 42, Hello);// Calls x.bar(world!) with deferred policy// prints world! when a2.get() or a2.wait() is calledauto a2 std::async(std::launch::deferred, X::bar, x, world!);// Calls X()(43); with async policy// prints 43 concurrentlyauto a3 std::async(std::launch::async, X(), 43);std::this_thread::sleep_for(std::chrono::seconds(2));a2.wait(); // prints world!std::cout a3.get() \n; // prints 53return 0;} // if a1 is not done at this point, destructor of a1 prints Hello 42 here///// reference: https://thispointer.com/c11-multithreading-part-9-stdasync-tutorial-example/int test_async_4(){using namespace std::chrono;auto fetchDataFromDB [](std::string recvdData) {// Make sure that function takes 5 seconds to completestd::this_thread::sleep_for(seconds(5));//Do stuff like creating DB Connection and fetching Datareturn DB_ recvdData;};auto fetchDataFromFile [](std::string recvdData) {// Make sure that function takes 5 seconds to completestd::this_thread::sleep_for(seconds(5));//Do stuff like fetching Data Filereturn File_ recvdData;};// Get Start Timesystem_clock::time_point start system_clock::now();std::futurestd::string resultFromDB std::async(std::launch::async, fetchDataFromDB, Data);//Fetch Data from Filestd::string fileData fetchDataFromFile(Data);//Fetch Data from DB// Will block till data is available in futurestd::string object.std::string dbData resultFromDB.get();// Get End Timeauto end system_clock::now();auto diff duration_cast std::chrono::seconds (end - start).count();std::cout Total Time Taken diff Seconds std::endl;//Combine The Datastd::string data dbData :: fileData;//Printing the combined Datastd::cout Data data std::endl;return 0;}} // namespace future_
http://www.yutouwan.com/news/134886/

相关文章:

  • wordpress产品网站宁阳县住房和城乡建设局网站
  • 网站假设公司排名自己做的网站怎么管理用户
  • 自己能做网站吗esuwiki wordpress
  • 网站不用模板如何更新文章自己建站流程
  • 网站设计与规划作业seo网站关键词排名快速
  • wex5网站开发wordpress浏览器跳转
  • 网站开发外包计入什么科目建设银行招生网站
  • 烟台网站建设推广wordpress英文切换
  • 免费的舆情网站app网络程序员
  • 美食网站建设多少钱网站热力图工具
  • 新开传奇网站发布网单职业微信怎么开通公众号
  • 公司网站定制开发西安未央网站建设
  • 手机网站制作平台网站搭建公司案例网址
  • 什么网站教做医学实验报告云浮网站建设
  • 做网站的专业词汇开发公司税金计算基数
  • 做编程网站有哪些方面wordpress loren
  • 网站开发项目团队公众号做漫画网站
  • 网站排名查询用cms建网站
  • 欧派网站谁做的网站模板好
  • 电子商务网站建设的一般过程lamp网站开发项目文档
  • 汕头市作风建设的网站网站页面引导怎么做
  • 网站分销系统90后做网站月入万元
  • 企业官网建站系统图文广告设计制作软件
  • 5年网站seo优化公司wordpress rss已删除
  • html5网站链接标签上海做网站找哪个公司好
  • 资源网站建设活动感受个性化建网站定制
  • 邢台企业做网站价格有限公司和有限责任的区别在哪里
  • 深圳建网站一般多少钱石家庄网站制作软件
  • 配音网站赚钱做采集网站赚钱吗
  • 电子商务网站建设方案推荐菜谱网站开发系统