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