Bonjour tout le monde,
j'aimerai utiliser les threads de boost.
J'ai trouvé la doc sur le site de boost pour la creation des threads et leur utilisation.
Mais je ne parviens pas a trouver un exemple d'utilisation de section critique. L'equivalent de pthread_mutex_lock et pthread_mutex_unlock. Si quelqu'un pouvait me dire si un tel tutorial/exemple de code existe et où le trouver cela m'aiderai grandement.

Voila un bout de code pour illustrer ce que je dis. En fait, j'aimerai trouvé l'équivalent des fonction de la lib pthread vers la lib BOOST.

D'avance merci

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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <iostream>
#include <windows.h>
 
#include <boost/thread/thread.hpp>
 
using namespace std;
 
 
//EQUIVALENT BOOST --> static pthread_mutex_t mutex;
 
int nb=0;
 
void fct3()
{
    while (nb<=20)
    {
 
        //EQUIVALENT BOOST --> pthread_mutex_lock (&mutex);
 
        int mynb=nb;
        Sleep(1000);
        cout << "Thread 1, nb : " << mynb << " = " << nb << endl;
        nb++;
 
        //EQUIVALENT BOOST --> pthread_mutex_unlock (&mutex);
 
    }
 
}
 
 
 
void fct4()
{
    while (nb<=20)
    {
 
        //EQUIVALENT BOOST --> pthread_mutex_lock (&mutex);
 
 
        int mynb=nb;
        Sleep(1000);
        cout << "Thread 2, nb : " << mynb << " = " << nb << endl;
        nb++;
        //EQUIVALENT BOOST --> pthread_mutex_unlock (&mutex);
 
    }
}
 
 
int main()
{
 
 
    boost::thread thrd1(&fct3);
    boost::thread thrd2(&fct4);
    thrd1.join();
    thrd2.join();
 
 
    cout << "Fin" << endl;
 
    return 0;
}
Ce programme ne fait pas grand chose, mais me permet de tester la syntaxe de l'utilisation des threads.