Hi, all.
I don't know anything about Boost, neither OpenMP,
pthread nor Windows API thread library. So, before begin learning one of these,
I'd like to explain to you how I want my application to work.
It deals with running two parallel loops, one in
LabView, and the other in C++. It doesn't matter if you don't know anything
about LabView, this explanation is easy enough to understand. Attached you can
see a picture which shows the desired execution behaviour. I want to know
whether my application would be possible to achieve using Boost, or using
another API. In another general C++ forum, I was suggested to use
Boost.
First, the execution begins in LabView. Here, I
call a dll function written in C++. This is the "initialization" function. Its
aim is to create another thread that will execute the main loop in C++. Then,
this "initialization" function ends, because it has to return the control
execution to LabView, but the new thread which has just been created must
continue executing in its own loop.
Now we have two loops in parallel: LabView and C++.
In LabView's loop, we call periodically another dll function that has to send
and retrieve data from the independent thread in C++. This function, like the
other, has to end executing to pass control to LabView again, after it has done
its purpose.
This will be the behaviour until we call from
LabView another dll function to stop the independent thread (not shown in the
picture). After this, the LabView program ends.
Is it possible to use Boost for this? If so, could
you post a brief example about how you'd make it?
Thanks in advance,
Francisco