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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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?