According to this MSDN article, the
SetEnvironmentVariable API is
per-process and not per-thread:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms686206(v=vs.85).aspxYou shoud also check this MSDN article, in case you are changing environment variables of another process:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms682009(v=vs.85).aspxAnyway ... RTC SDK does NOT use Environment variables and does NOT affect the way Environment Variables work. In other words, if there is a way to set an Environment Variable for a specific thread rather than a process, it would work with the RTC SDK the same way it works with any other Application. But ... since the RTC SDK uses a thread pool which is shared by all Clients, there is no guarantee that anything you set for a specific thread inside one event will be available to the same Client from any other event triggered by that Client.
PS. Anything that uses Environment Variables to pass parameters between processes has either NOT been designed for access from multiple users at the same time, or ... was developed by someone who doesn't know anything about multi-threading, so you will either need to create a separate child process of that JAVA-thingy you are calling for every one of your Clients connecting to the Server, or make sure that only one of your Clients can access that API at any time - for example, by using critical sections to secure access to that remote function on your Server. You might also want to use a global variable to keep track of the number of Clients waiting in the queue, so you don't exhaust all the threads in your Servers thread pool should there be a lot of Clients waiting.
Best Regards,
Danijel Tkalcec