ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
19 июля
1352489 Топик полностью
Tyмблep (19.09.2023 14:36, просмотров: 121) ответил VVB на Я ошибку valgrind'ом нашёл, запустив memcheck в QtCreator. Иначе когда-нибудь грохнулось бы при работе. Не повезло найти ошибку в работе, потому что при разрушении объекта память не изменялась.
Не обязательно делать уникальные стандартные объекты. 

Если начал работать с потоками, навык изготовления потоко-безопасных контейнеров просто необходим.

Иначе постоянные проблемы настигнут тебя

---

Как из потоко-опасного объекта сделать потоко-безопасный

// допустим имеем потоко-опасный объект:

class Q

{

public:

bool write(..);

bool read();

};

//Сделаем потоко-безопасный объект:

class ThSafe_Q

{

protected:

Q object;

CrSection cs; // класс критическая секция или другой объект синхронизации

public:

bool write(..)

{

csShell cssh(&cs);

return object.write(..)

}


bool read(..)

{

caShell cssh(&cs);

return object.read(..);

}

};