Здравствуйте. У меня есть бесконечный цикл. При запуске, как и ожидалось, программка виснет, ничего не нажимается. Как можно запустить этот цикл асинхронно? В C++ не очень силен, мне нужен простенький пример. Спасибо)
for (size_t i = 0; i < INFINITY; i++) {
somefunction();
}
Можно вынести функцию в отдельный поток std::thread, а вне этой функции управлять ею. Один из вариантов управления этой функции - через указатель. Вот небольшой пример где в бесконечном цикле выводится "some" до того момента пока мы не нажмем клавишу:
#include <iostream>
#include <conio.h>
#include <thread>
using namespace std;
void func(bool *workStatus)
{
for (size_t i = 0; i < INFINITY; i++) {
if (*workStatus == false)
break;
cout << "some "; // В вашем случае тут somefunction()
}
}
int main()
{
bool status = true;
thread test(func, &status);
while (!_kbhit());
status = false;
test.join();
system("pause");
return 0;
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости