I'm having a slight problem with multithreading in LV70. I've written a small app that I use to verify the thread configuration in LV61 and LV70. It dynamically loads and runs n copies of a reentrant VI. In my example interations(n) = 100. When I compile them into executables, I notice some strange things happening in the LV70 version of the executable. Sometime one of the elements in the time array doesn't update. It's usually the 8th element but I've seen it happen on higher elements too. This never happens on the LV61 executable.
Another thing. Both LV environments have been threadconfig'ed for eight threads. When I look in the Windows Task Manager under Processes, I see that Reentrant61.exe and Reentrant70.exe are using
7 and 11 threads, respectively.
Attached is a zip file containing source VIs saved in version LV61 and LV70. Make sure to use .bld files provided when compiling your executable.
Stop and run each executable a few times and pay careful attention to the LV70 version. You'll see that some of the values never change. They stay at "08:00:00.000 PM". For example, out of one 100 iteration test I noticed that array elements 8, 19, 31, 43, 68, 79, and 88 never changed.
What's going on here?
-Kevin