How does COM ensure that on a multi-core machine, it stays in Sync if you have a COM out-of-proc server and a COM client, relying on each other, that things don’t get mangled if you’re running it on a multi-core architecture?
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
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.
In your comment you ask what happens if COM client runs on one thread and COM server – on another thread. Those two threads reside in different processes (since the server is out-proc).
If your client consumes an out-proc COM server COM subsystem uses RPC (local RPC) for communicating with the server. This is done transparently for the client – the client calls a method, RPC prepares a string with all the parameters, blocks the client thread, passes the call to the server, the server processes the call abd returns to the client. There’s no concurrent access, so no problems with extra synchronization – all the synchronization is done automatically.