windows协程示例

#include <iostream>
#include <thread>
#include <chrono>
using namespace std::chrono_literals;
#include <string>
#include <future>

std::future<std::string> remote_query(uint32_t query_index) {
  return std::async([query_index]() {
    std::this_thread::sleep_for(4s);
    return std::to_string(query_index) + "多次你好";
  });
}

std::future<void> remote_query_all() { 
  uint32_t query_index  = 0;
  for (;;)
  {
    std::string ret = co_await remote_query(++query_index);
    std::cout << ret << std::endl;
  }
}

int main() {
  remote_query_all();

  while (true)
  {
    std::this_thread::sleep_for(1s);
    std::cout << "主线程" << std::endl;
  }
  return 0;
}

cl的选项中加上/await.然后居然编译成功了.

posted @ 2020-11-17 16:05  zjh6  阅读(18)  评论(0)    收藏  举报  来源