Здравствуйте, kov_serg, Вы писали:
_>А теперь запустите 3 таких машины.
Да не вопрос:
http://coliru.stacked-crooked.com/a/0b96eda764fa66eb
#include <generator>
#include <iostream>
#include <string>
#include <ranges>
std::generator<std::string> runMachine(const int& param) {
co_yield "Idle";
co_yield "Started";
co_yield "Processing";
while (param < 10)
{
co_yield "Waiting";
}
co_yield "Stopped";
}
int main() {
int iValue = 0;
for (const auto&[state1, state2, state3] : std::views::zip(runMachine(iValue), runMachine(iValue), runMachine(iValue)))
{
++iValue;
std::cout << "State1: " << state1 << ", State2: " << state2 << ", State3: " << state3 << std::endl;
}
}
State1: Idle, State2: Idle, State3: Idle
State1: Started, State2: Started, State3: Started
State1: Processing, State2: Processing, State3: Processing
State1: Waiting, State2: Waiting, State3: Waiting
State1: Waiting, State2: Waiting, State3: Waiting
State1: Waiting, State2: Waiting, State3: Waiting
State1: Waiting, State2: Waiting, State3: Waiting
State1: Waiting, State2: Waiting, State3: Waiting
State1: Waiting, State2: Waiting, State3: Waiting
State1: Waiting, State2: Waiting, State3: Waiting
State1: Stopped, State2: Stopped, State3: Stopped
И чо?
Теперь асинхронность появилась?