mutex

    0熱度

    2回答

    我使用的MinGW 5.3.0加密++ 5.6.5: C:\MinGW>g++ -std=c++11 -s -D_WIN32_WINNT=0x0501 LOG.cpp -U__STRICT_ANSI__ Decclass.cpp \ -IC:\\MinGW\\ -IC:\\MinGW\\boost -LC:\\MinGW -lssl -lcrypto -lcryptopp -lgdi32 -lP

    0熱度

    2回答

    我的疑問涉及同步使用相同方法的不同類的線程的方式。我有兩個不同的類,ClientA和ClientB(顯然擴展了Thread)和一個Server類的方法。這兩個ClassA和ClassB線程必須使用此方法,但也有對接入不同的策略: 如果ClassA線程使用方法內部的資源,同一類的其他線程可以用它; 如果線程ClassB正在使用該方法,則沒有人(線程爲ClassA和ClassB)可以使用它(互斥)。

    1熱度

    2回答

    我明白我使用互斥體,但我不明白它是如何工作的。我的意思是它是如何工作的。 它在鎖定時如何排除其他線程或進程,它如何知道當前所有者等? 有人可以發佈關於它的好文章的鏈接嗎?我只是從程序員的角度發現它的工作原理,而不是它的實現。

    0熱度

    1回答

    假設我有訪問某個共享狀態時持有互斥鎖的代碼。在某些時候,我確定我需要創建一個新的線程,因此調用pthread_create,同時仍然保持互斥體。這被認爲是安全的嗎? 假設我的共享狀態是一個全局計數器,用於跟蹤成功創建的pthread的數量,另一個線程使用此計數器在屏幕上實時顯示信息。此外,我不希望pthread的數量超過某個最大值(例如,爲了確定性)。如果我在調用pthread_create之前增

    0熱度

    1回答

    我一直在尋找一段時間,因爲我無法找到正確的答案,所以我決定提問。 其實我有兩個進程 流程1: #include <windows.h> #include <stdio.h> // This process creates the mutex object. int main(void) { HANDLE hMutex; hMutex = CreateMutex(

    0熱度

    1回答

    下面是我的代碼,其中兩個變量在回調時更新,每50ms調用一次。還有一個讀取器線程每隔50ms喚醒一次並讀取變量。 經過this後,我猜想會有一些情況,讀取的線程會在收到回調時喚醒,因爲我在讀寫時沒有鎖定相同的互斥量,在這種情況下,它會導致讀取的內存不一致。 但是,當我運行它時,這種情況永遠不會發生。是不是已經運行了足夠長的時間,還是在我的理解中有錯誤? recursive_mutex mutex1

    1熱度

    3回答

    我有三個類,我們稱它們爲A,B和HardwareDriver。每個類都有一個實例。 a和b運行在兩個不同的線程中。他們都通過HardwareDriver的一個實例訪問硬件。喜歡的東西: Class A { ... }; Class B { ... }; Class HardwareDriver { public: int accessHardware(); };

    -2熱度

    1回答

    我有這樣的結構: struct thread_items { pthread_mutex_t mutex; int i; thread_items(pthread_mutex_t m, int i): mutex(m), i(i){} } 我想創建這個結構數組並初始化所有互斥,而我在這。出於某種原因,當我打印互斥地址我得到的所有互斥的同一地址: vector <

    2熱度

    1回答

    看看下面的例子,我創建一個std::mutex,將其鎖定,然後用手將鎖定到另一個線程: #include <future> #include <mutex> int main() { // Create and lock a mutex std::mutex mutex; std::unique_lock<decltype(mutex)> lock(mutex

    0熱度

    2回答

    Quoting POSIX: 的pthread_cond_broadcast()或pthread_cond_signal()功能可以由一個線程它是否當前擁有那個線程調用pthread_cond_wait()或pthread_cond_timedwait()已經與在其等待狀態變量相關聯的互斥被調用;然而,如果需要可預測的調度行爲,那麼該互斥量將被調用pthread_cond_broadcast()或