Процесс ест 50% ЦП- C++

183
29 мая 2018, 18:10

Как можно упростить/улучшить код, чтобы он не кушал ~50% ЦП?
Вот, собственно, код:

void ListenVector()
{
    Note(GetCurrentThreadId(), "ListenVector started");
    while (1)
    {
        if (closeLV) break;
        if (items.size() < 1) continue;
        notepush.lock();
        auto begin = items.begin();
        std::string note;
#ifdef exact_time
        // note+= time_point to string;
#else
        note += "[" + getTimeS(0) + "." + getTimeS(1) + "(" + getTimeS(2) + ":" + getTimeS(3) + ":" + getTimeS(4) + ")] ";//TIME
#endif
        if (items[0].errorCode != -1) { note += "ERROR! Code: " + std::to_string(items[0].errorCode); }
        std::ostringstream os; os << items[0].TID;
        note += " " + os.str();//TID
        note += " " + items[0].message + "\r\n";//Message
        std::ofstream zx(nameOfFile, std::ios::app);
        zx << note;
        zx.close();
        items.erase(begin);
        notepush.unlock();
    }
}

Полный код класса: https://pastebin.com/87yKRWNZ

READ ALSO
Неизвестная проблема с boost::process C++

Неизвестная проблема с boost::process C++

возникла проблема с использованием boost, использую пример по туториалу с двуноправленным контейнером, но он почему-то отказывается работать

181
Bool true или false [закрыт]

Bool true или false [закрыт]

Мне нужно сделать bool, который будет возвращать true, если (1 + (rand() % 101)) <= 50, в противном случае возвращать false

313
Как подключить библиотеку, скачанную с GitHub, в C++

Как подключить библиотеку, скачанную с GitHub, в C++

Как подключить библиотеку, скачанную с GitHub, в C++?

283