boost.thread utiliser un functeur
Salut,
J'avous que je me met à boost depuis peu (mieux vaut tard que j'amais). Je m'interesse en particulier à ce qu'on peu faire avec boost.thread. Je voulais créer un bout de code qui a le comportement suivant:
mon header:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
class Task
{
private:
//members...
publics:
// ctor and dtor
Task(/*init members*/){}
~Task(){}
void operator()()
{
// Task to do....
}
}; |
mon fichier source:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
// includes....
int main()
{
Task task1(/* parametres1 */);
Task task2(/* parametres2 */);
// C'est ici que je ne vois pas comment les passer !!!
boost::thread my_thread1(task1());
boost::thread my_thread2(task2());
my_thread1.join();
my_thread2.join();
return exit(EXIT_SUCCESS);
} |
bien évidement ma création des objets boost::thread est fausse. J'aimerais savoir s'il y a moyen de passer les methodes associées au objets Task pour que les threads executent les taches task1 et task2?