Не обязательно делать уникальные стандартные объекты. Если начал работать с потоками, навык изготовления потоко-безопасных контейнеров просто необходим.
Иначе постоянные проблемы настигнут тебя
---
Как из потоко-опасного объекта сделать потоко-безопасный
// допустим имеем потоко-опасный объект:
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(..);
}
};