--- /dev/null
+#include <iostream>\r
+#include "Runnable.h"\r
+\r
+#include <boost/thread.hpp>\r
+#include <boost/date_time.hpp>\r
+\r
+\r
+\r
+using std::cout;\r
+using std::endl;\r
+\r
+using boost::thread;\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |* Declaration *|\r
+ \*---------------------------------------------------------------------*/\r
+\r
+/*--------------------------------------*\\r
+ |* Imported *|\r
+ \*-------------------------------------*/\r
+\r
+/*--------------------------------------*\\r
+ |* Public *|\r
+ \*-------------------------------------*/\r
+\r
+void helloThread_Methode(void);\r
+\r
+/*--------------------------------------*\\r
+ |* Private *|\r
+ \*-------------------------------------*/\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |* Implementation *|\r
+ \*---------------------------------------------------------------------*/\r
+\r
+/*--------------------------------------*\\r
+ |* Public *|\r
+ \*-------------------------------------*/\r
+\r
+void helloThread_Methode(void)\r
+ {\r
+ int x = 10;\r
+ int y = 100;\r
+ Runnable runnable(x, y);\r
+\r
+ cout << "\nthread : methode : start" << endl;\r
+\r
+ // arg1 : adresse de la methode run de la classe Runnable\r
+ // arg2 : adresse de l'objet sur lequel aller chercher la metode run\r
+ thread threadRunnable(&Runnable::run, &runnable);\r
+\r
+ cout << "Waiting for thread ..." << endl;\r
+\r
+ threadRunnable.join();\r
+ cout << "thread : methode : end" << endl;\r
+\r
+ cout << "[outside thread] : " << x << " + " << y << " = " << runnable.getResult() << endl; // give bad result cause runnable instance is passed by value to boost::thread\r
+ }\r
+\r
+/*--------------------------------------*\\r
+ |* Private *|\r
+ \*-------------------------------------*/\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |* End *|\r
+ \*---------------------------------------------------------------------*/\r
+\r