有什么例旧模子可以充分展示 Lambda 的优势

网友 1

最佳答案

回答者:网友
#include <t来自hread>
#include <chrono>
#include <atomic>
#include <vector>
#include <iostream>
bool ProcessData(double i)
{
std::chrono::milliseconds duration(100);
std::this_thread::s360问答leep_for(dura必程量候技tion);
return true;
}

int main()
{
const int 边垂危检倒samples = 多花准迅球必条热振1000;
std::vector<double> data;
std::atomic<int> result = 0;
std::atomic<i把受钢nt> currentIndex = 0;
std::vector<std::thread> threads;

for (int i = 0; i < samples; i++) data.push_back(i);

for (int i = 0; i < std::thread::hardware_concu突管话端黑杨集宣军负rrency(); i++)
{
thr句物eads.push派易粉况台开交图类除衣_back(std::thread([&]()
{
while (1)
{
int index = currentIndex.fetch_add(1);
if (index >= samples) break;
if (ProcessDa除川抗饭ta(data[index]))
{
result++;
}
}

}));
}

for (std:我奏组适河留松:thread& t : threads)
{
t.join();
}

std::cout << result << std::endl;

return 0;
}

我来回答