mutex

    0熱度

    1回答

    我有2個進程。第一個將一些數據發送給另一個,同步每一步。 實際發送的數據如下: Process : A sends 1 Process : B receives 1 Process : A sends 2 Process : B receives 2 的問題是,當我運行它從一開始發送的所有數據的過程中A和我看到的是這樣的: Process : A sends 1 Process : A

    0熱度

    1回答

    我需要一些幫助來實現併發C++編程。 我有名字的文件,命名爲"names.txt",格式如下: 0 James 1 Sara 2 Isaac 而且我有一個名爲"op.txt"另一個文件,該文件載有關於地名的一些操作的文件,格式如下: 0 1 + // this means add Sara to James and store it in 0 position 1 2 $ // this

    0熱度

    1回答

    我有一個項目,我正在將作業添加到隊列中,並且我有多個線程正在進行作業,並計算出自己的獨立結果。 我的程序處理SIGINT信號,我試圖加入線程來合併結果,打印到屏幕,然後退出。我的問題是,當我發送信號時線程似乎停止工作,或者他們在mutex_lock上被阻塞。這裏是我的程序的重要部分,以便簡潔。 的main.c //the thread pool has a queue of jobs inside

    0熱度

    2回答

    我有一個製片人試圖/消費者 生產者 #pragma once #ifndef PRODUCER_H #define PRODUCER_H #include <thread> #include "Mailbox.h" class Producer { private: std::thread producer; Mailbox& mailbox; public

    0熱度

    3回答

    考慮下面的簡單代碼: using ms = std::chrono::milliseconds; int val = 0; for(;;) { std::cout << val++ << ' '; std::this_thread::sleep_for(ms(200)); } 我們看到,我們無限打印隨後的數字每次0.2秒。 現在,我想使用助手類和多線程實現相同的邏輯

    0熱度

    1回答

    我一直關注此solution。當我運行race race時,沒有發現競態狀況。但是,當我與我的代碼運行的比賽detecter它提供了以下錯誤: ================== WARNING: DATA RACE Read at 0x00c42006c1e0 by goroutine 6: main.Crawl.func1() /task2.go:50 +0x53 Previous writ

    1熱度

    2回答

    我目前正在研究互斥鎖如何工作。我覺得我有一種抓地力。我的假設是否正確?這裏我們有兩個進程Pi和Pj,它們想要執行他們的關鍵部分,並且試圖解釋互斥鎖如何工作以防止競爭狀況的發生。 裨嘗試獲取與獲取鎖()。在開始時,沒有進程正在執行其關鍵部分,因此可用將是真實的。在acquire的while循環中,條件將爲false,並且不會「忙等待」,並且可用將設置爲false。可用設置爲false的原因是爲了防止

    0熱度

    1回答

    我認爲這是一個有趣的問題。我想從服務器讀取數據,以便我可以使用matplotlib實時繪製數據。目前我的測試,將通過使用random模擬讀入的值,我發現,我得到這個錯誤: File "/usr/lib/python2.7/dist-packages/matplotlib/lines.py", line 632, in recache raise RuntimeError('xdata a

    2熱度

    2回答

    互斥鎖是否按照它們被調用的順序賦予了這些線程?所以說我們有三個線程A,B和C以及一個互斥鎖mtx。如果A首先調用mtx.lock(),然後B和C,那麼這是否意味着A首先獲得鎖,然後是B,然後是C.如果不是,我怎麼能保證它?

    0熱度

    1回答

    我得到了一個大學任務來實現無需等待的互斥鎖。我試圖實施它,但沒有取得太大的成功。有時,它會引發分段溢出,但是當它在gdb中運行時,它會一直運行得很完美。 mutex.c #define _GNU_SOURCE #include <stdio.h> #include <pthread.h> #include <unistd.h> #include <signal.h> #include