Problem with DLL running in parallel
-
Hello, I have an exe which launches a DLL inside a thread (using CreateInstance) that does some SQL process (retreive, update of data, etc.). Then this exe is launched by some trigger event which is asynchronous. Now testing this on my environment (Windows XP Service Pack 3, Core 2 DUO @2.33GHz, 2GB of RAM) by triggering the event 2x simultaneously absolutely works. I can see in the log files I've created that the 2 DLL instance are processing in parallel. The problem is with another server environment that we have (Windows Server 2003 R2 Service Pack 2, Xeon CPU @2.5GHz, 3GB of RAM). When I check the log files, up to the actual launch of the DLL was done simultaneously. But when it came to the DLLs, they seem to be working sequentially. After the 1st DLL is done (which is after 10 mins), then that is the time that the 2nd DLL starts in processing... Anyone has any idea/clue on this problem? I'm on a dead-end right now. Thanks!
-
Hello, I have an exe which launches a DLL inside a thread (using CreateInstance) that does some SQL process (retreive, update of data, etc.). Then this exe is launched by some trigger event which is asynchronous. Now testing this on my environment (Windows XP Service Pack 3, Core 2 DUO @2.33GHz, 2GB of RAM) by triggering the event 2x simultaneously absolutely works. I can see in the log files I've created that the 2 DLL instance are processing in parallel. The problem is with another server environment that we have (Windows Server 2003 R2 Service Pack 2, Xeon CPU @2.5GHz, 3GB of RAM). When I check the log files, up to the actual launch of the DLL was done simultaneously. But when it came to the DLLs, they seem to be working sequentially. After the 1st DLL is done (which is after 10 mins), then that is the time that the 2nd DLL starts in processing... Anyone has any idea/clue on this problem? I'm on a dead-end right now. Thanks!
Could the two processes be queueing up to use the same resource? Maybe you only have one SQL connection available on the Server machine.
-
Could the two processes be queueing up to use the same resource? Maybe you only have one SQL connection available on the Server machine.
I have checked the SQL connection and the setting was 6. Then looking at the log files, the actual queuing up happens when the DLL's first function is called (way after the SQL connection/process is being triggered). The other DLL stops/waits until the first DLL is done. It is highly likely that they're using the same resource... but any possibility that this is somehow the DLL's loading being queued up?