Блокировка вывода в консоль с потоков
Пишу сейчас свой псевдошутер, в котором есть объект, которым управляю я и другой объект(бот), работающий в отдельном потоке и пытающийся меня убить. Так же у меня имеется реализация выстрелов отдельными потоками (1 выстрел - новый поток). Проблема в том, что почему-то защита lock_guard функции вывода в консоль не работает, из-за чего появляются некие казусы в консоле (показано в скриншоте). Буду признателен за помощь!
Вот код функции вывода:
static void Object(const int x, const int y, const char sym) {
COORD position = { x, y };
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
std::lock_guard<std::mutex> lock(m);
SetConsoleCursorPosition(hConsole, position);
std::cout << sym;
}
