シンプルなアプリ、ブースト環境のセットアップを学ぶだけです...
プログラムはコンパイルされますが、libboost_thread-mgw44-mt-1_51.dllが見つからないというエラーが表示されます
ちなみに、boostはstop()の関数がないと言ったので、thread1.stop()をt1.stop()に変更する必要がありました。
私はdllを持っていますが、アプリが何もしないのと同じフォルダーにdllを配置します。
#include <boost/bind.hpp>
#include <boost/thread.hpp>
class Threadable
{
public:
void stop()
{
running = false;
}
int run()
{
running = true;
while(running)
{
//Do Something Meaningful
}
return 0;
}
private:
bool running;
};
int main()
{
Threadable t1, t2;
boost::thread thread1(boost::bind(&Threadable::run, t1));
boost::thread thread2(boost::bind(&Threadable::run, t2));
// Let the threads run for half a second
boost::this_thread::sleep(boost::posix_time::milliseconds(500));
// Signal them to stop
t1.stop();
t2.stop();
//thread1.stop();
//thread2.stop();
// Wait for them to gracefully exit
thread1.join();
thread2.join();
return 0;
}