10-20-2009 06:47 AM
Hi, we use single element queues and notifiers to pass information between threads. In many case we wire the Q references to all vi's that require access to the information, but in other cases (especially when the vis are very deeply embedded in the call chain) we simply obtain a reference to an existing Q or notifier (by name) at the point where the data is used, access the data and then release the Q or notifier reference. This removes the need to wire the references down a couple of call levels.
What we have found though is that these obtain/release pairs take progressively longer to execute. It may start off at 70us for a obtain/use/release, but after an hour of calling it every 100ms it could sit at 700us (and it gets worse the longer it runs - leave it overnight and the CPU is at 100% the next morning).
We are using RT 9 on a desktop PC. We've used this technique without problems with 8.5.1 and cRIO in other applications.
Any comments welcome.
10-20-2009 07:45 AM