static boost::mutex



  • Hallo!
    Ich habe folgende Funktion in einer Klasse, von der mehrere Objekte erzeugt
    werden, die Synchronisiert werden müssen.
    Auferufen wird folgende Funktion in einem eigenen Thread. Die Funktion wird
    in einer Schleife aufgerufen:

    void MyThread::DoSomething()
    {
       mMutexlock();
    
       std::cout << "Some output\n";
    
       mMutex.unlock();
    }
    

    Da alle Objekte denselben Mutex verwenden sollen, hab ich mir gedacht, ich
    deklarier ihn statisch in der Headerdatei:

    static boost::mutex mMutex;
    

    Ggf. noch eine statische Waitcondition.
    Doch das Codebeispiel lässt sich nicht kompilieren. Ist es nicht möglich,
    einen Mutex so zu verwenden?


Anmelden zum Antworten