4 #include <boost/thread.hpp>
5 #include <boost/date_time.hpp>
14 /*----------------------------------------------------------------------*\
16 \*---------------------------------------------------------------------*/
18 /*--------------------------------------*\
20 \*-------------------------------------*/
22 /*--------------------------------------*\
24 \*-------------------------------------*/
26 void helloThread_Methode(void);
28 /*--------------------------------------*\
30 \*-------------------------------------*/
32 /*----------------------------------------------------------------------*\
34 \*---------------------------------------------------------------------*/
36 /*--------------------------------------*\
38 \*-------------------------------------*/
40 void helloThread_Methode(void)
44 Runnable
runnable(x
, y
);
46 cout
<< "\nthread : methode : start" << endl
;
48 // arg1 : adresse de la methode run de la classe Runnable
49 // arg2 : adresse de l'objet sur lequel aller chercher la metode run
50 thread
threadRunnable(&Runnable::run
, &runnable
);
52 cout
<< "Waiting for thread ..." << endl
;
54 threadRunnable
.join();
55 cout
<< "thread : methode : end" << endl
;
57 cout
<< "[outside thread] : " << x
<< " + " << y
<< " = " << runnable
.getResult() << endl
; // give bad result cause runnable instance is passed by value to boost::thread
60 /*--------------------------------------*\
62 \*-------------------------------------*/
64 /*----------------------------------------------------------------------*\
66 \*---------------------------------------------------------------------*/