首页 > 解决方案 > C++ 多线程循环

问题描述

我想在 async() 中执行一个循环。

#include<stdio.h>
#include<thread>
#include<iostream>
#include <future>
using namespace std;
void Compute( int i)
{
    printf("i=%d\n",i);
    std::this_thread::sleep_for(std::chrono::seconds(1));
}
int main()
{
    for(int i=0;i<99999;++i)
        std::async(std::launch::async, Compute, i);
}

结果是循环将完成工作然后跳转到下一次迭代。比如i=0-->(1sec)-->i=1-->(1sec)-->i=2-->.... 不等最后一次迭代怎么连续做呢?

标签: c++multithreading

解决方案


推荐阅读