1
私は、ウィンドウのスレッド化またはブーストのスレッド化を使用して、スレッド化したい再帰関数を持っています。私は両方の方法でスレッドを行う方法の例を持っていますが、どちらかを実装する方法がわかりません。以下は私のブースティングの例です。関数をスレッドする
struct ThreadDemo {
ThreadDemo(int secs) : secs_(secs) { }
void operator() (void) {
boost::xtime xt;
boost::xtime_get(&xt, boost::TIME_UTC);
xt.sec += secs_;
boost::thread::sleep(xt);
{
boost::mutex::scoped_lock lock(printing);
cout << "Thread ended..." << endl;
}
}
};
私はちょうどそれがどのように機能するかについては100%確実ではないけど、君たちは私がそれをよりよく理解するのに役立つことができれば、私はうまくいけば自分で自分の関数に実装することができます。
あなたがループに使用するものにあなたの再帰関数を変換する場合、それが大幅にあなたの人生を簡素化します(これは、最初のブーストスレッドを学習するときに私が使用したものである)です。 – dave
この関数は再帰的ではありません。正確に何をしようとしていますか?また、低レベルのライブラリ(たとえば、pthread、WindowsのスレッディングAPI)には、高レベルのライブラリ(Boost.Threadなど)を優先する必要があります。 –
私はちょうど何かを見逃しているかもしれませんが、ここで再帰はどこですか? –