Я опять пытаюсь что-то делать на плюсах. Так, ущербные хеллоуворлды. И сейчас пытаюсь понять одну вещь.
Допустим, есть несколько функций, которые должны выполняться (в бесконечном цикле) одновременно параллельно, не дожидаясь завершения выполнения других функций. Некоторые из них содержат Sleep. Начал гуглить про std::async, а в MinGW (хочу в кроссплатформу, поэтому gcc (или g++, чо там вообще)) это не реализовано.
В общем, такой вопрос: как сделать подобное правильно, чтобы ещё и кроссплатформенно?
UPD: std::async заработал, но функции всё ещё перестают выполняться, пока выполняется функция со Sleep.
UPD2: Sleep нужен для создания задержек. Т.е. в функции произошло одно действие, затем Sleep(1000), затем другое действие.
UPD3: с std::this_thread::sleep_for(std::chrono::seconds(1)); то же самое.
UPD4: с std::thread и thread.detach() функции выполняются какое-то время, а потом перестают выполняться вообще.