LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

multithreading with DLL function seems to run serial in stead of parallel

The following problem was posted earlier in the Knowledgebase. I have the same problem only in LabVIEW 6.1, which is according to the solution fixed.
Am I doing something else wrong?

Problem: When I run DLLs (built in LabVIEW 6.0.x) in a multi-threading environment, it seems like my calls are being run in series
rather than in parallel. Why is this happening, and how can I fix it?

Solution: LabVIEW 6.0.x only creates 2 data spaces for re-entrant VIs that are LabVIEW DLL entry points. Therefore, only 2
calls can happen concurrently (run the same LV DLL entry point in parallel.) This means that if you launch 6
threads to run the
same LabVIEW DLL entry point, your 6 threads will run serially in pairs of two. With the release of LabVIEW 6.1, this has been
fixed to allow for a more true multi-thread capability.
0 Kudos
Message 1 of 2
(2,360 Views)
One problem is that if both threads are trying to access the same hardware resource (PCI-bus card) those accesses could be serializing the calls.

Mike...

Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion

"... after all, He's not a tame lion..."

For help with grief and grieving.
0 Kudos
Message 2 of 2
(2,360 Views)