У меня есть dll, которая экспортирует интерфейс
class Qwe{
virtual void a() = 0;
virtual void b() = 0;
};
extern "C" Qwe* createQwe();
Я загружаю ее в свою программу и создаю несколько объектов Qwe.Вопрос в том, безопасен ли доступ к этим объектам из разных потоков?Должен ли я открыть новый экземпляр библиотеки для каждого объекта, или одного достаточно?
Статические члены-члены не используются, а функции библиотеки сами по себе не являются поточно-ориентированными.
Чтобы определить вопрослучше ... экспортируемый класс может выглядеть следующим образом
class QweImpl : public Qwe{
public:
virtual void a() {
std::fill(data.begin(), data.end(), 1.0)};
private:
std::vector<double> data; };
безопасен ли здесь QweImpl :: a ()?В том смысле, что два разных объекта QweImpl могут одновременно вызывать свои функции a ()?