- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
std::queue<char *> outQueue2;
std::lock_guard<std::mutex> lock(mtx);
mtx.lock();
if (outQueue.size() > 0) {
std::swap(outQueue2, outQueue);
outQueue = {};
}
std::lock_guard<std::mutex> unlock(mtx);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Всего: 1
+2
std::queue<char *> outQueue2;
std::lock_guard<std::mutex> lock(mtx);
mtx.lock();
if (outQueue.size() > 0) {
std::swap(outQueue2, outQueue);
outQueue = {};
}
std::lock_guard<std::mutex> unlock(mtx);
со слов автора:
у меня 2 исходящие очереди
в одну соседний поток ложит
потом приходит тик
врубает симафор
копирует по-бырому очередь
и чистит её
дальше отпускает поток
чтобы не ждать
пока всё отправится
и спокойно в соседнем потоке уже начинает BYtestream...
и всё такое
разьве не так делают в домах парижу?