美文网首页
std::future使用

std::future使用

作者: pandazhong | 来源:发表于2018-10-20 21:20 被阅读0次

在有些场合,比如只执行一次的线程,可以用std::future代替,并且,std::future可以有返回值。

#include <future>

#include <iostream>

bool is_prime(int x)

{

  printf("begin is_prime\n");

  if (x/2 == 0)

  {

      return false;

  }

  printf("end is_prime\n");

  return true;

}

int main()

{

  std::future<bool> fut = std::async(std::launch::async, is_prime, 10);

  std::cout << "please wait\n";

  std::chrono::milliseconds span(100);

  while (fut.wait_for(span) != std::future_status::ready)

  {

    std::cout << ".";

  }

  std::cout << std::endl;

  bool ret = fut.get();

  std::cout << "final result: " << ret << std::endl;

  return 0;

}

相关文章

网友评论

      本文标题:std::future使用

      本文链接:https://www.haomeiwen.com/subject/zmtvzftx.html