I would suggest to introduce a Cancellation Token as parameter to both functions. If one function becomes ready it sets the cancelation flag to true, so that other function can check it and exit. In the most simple case it can be a volatile boolean value passed by reference to both functions.


Hope that helps,
Ovanes
 

On Mon, Dec 7, 2009 at 1:44 PM, Vadim Ryvchin <vadimryv@gmail.com> wrote:
Hello,

I have a problem with interruption of threads.
I have one function that I want to run in two different threads with different parameters. When one of the function's instances finishes it stops the other instance. I can't change the function's code, but I can write wrapper to it.
My problem is in stopping the other thread. Using timed_join I find which thread is finished, but I can't find a good solution for stopping the second one.
How should I use interrupt method correctly or suggest me for correct thread stopping function.
BTW, I can't just leave the other thread to run, it's very high CPU consumer.

Thank you all.