Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6546371
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 25, 20262026-05-25T11:41:58+00:00 2026-05-25T11:41:58+00:00

I have a dll which exports the interface class Qwe{ virtual void a() =

  • 0

I have a dll which exports the interface

class Qwe{
    virtual void a() = 0;
    virtual void b() = 0;
};

extern "C" Qwe* createQwe();

I load it in my program and create multiple Qwe objects. The question is whether accessing those objects from different threads is safe? Shall I open the new library instance for each object, or one is enough?

No static data members are used, and library functions are not thread-safe by themselves.

To define the question better… exported class may look like this

class QweImpl : public Qwe{
   public:
      virtual void a() {
          std::fill(data.begin(), data.end(), 1.0)};
   private:
      std::vector<double> data; };

is QweImpl::a() safe here? In the sense that two different QweImpl objects can simultaneously call their a() functions?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-25T11:41:58+00:00Added an answer on May 25, 2026 at 11:41 am

    In windows you can only load a library once. Further attempts to load a library only increments a reference counter. So therefore ‘loading a library for each object’ is a non-starter.

    If your Qwe class contains data members or fields, which I can’t tell if it does or not, than you could protect access to shared memory using critical sections (or some other mechanism) inside of Qwe.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a DLL which exports a function: __declspec(dllexport) void __stdcall MyEntryPoint(char* params) {
I have an unmanaged C++ DLL which merely exports a single class (not COM...it's
I have a DLL which contains a class with static members . I use
I have a dll which I disassemble in Reflector, I then generate a class.
I have a dll called Test.dll in which I have a class called ABC
I have written a DLL which exports a function that creates a window using
I have a DLL which provided a decoding function, as follows: function MyDecode (Source:
We have inherited VB6 dll which we need to make changes to. We have
I have a .NET dll which needs to read it's config settings from it's
I have a C++ dll which implements several COM interfaces, that I'm trying to

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.