critical-section

    0熱度

    1回答

    我正在使用默認情況下使用1字節對齊的項目,包括使用CRITICAL_SECTION結構的地方。我正在調查某個死鎖,並且我可以看到導致故障的CRITICAL_SECTION結構中的數據是無效的。可以調整是否麻煩? (我也可以看到,對於這個特定的CRITICAL_SECTION確實走線1(奇數地址)..) 感謝, 阿米特

    1熱度

    1回答

    如果智能手機顛倒,我試圖從傳感器事件偵聽器啓動子活動。最初的代碼我寫是這樣的: public class MySensorListener implements SensorEventListener{ boolean mIsStarted = false; public void start(Context context) { mIsStarted = fa

    8熱度

    5回答

    我所遇到的C++ 03的一些代碼,採用這種形式: struct Foo { int a; int b; CRITICAL_SECTION cs; } // DoFoo::Foo foo_; void DoFoo::Foolish() { if(foo_.a == 4) { PerformSomeTask();

    -1熱度

    1回答

    我想在編譯階段創建一個分析關鍵部分的C程序的工具。我正在尋找正確的算法,讓我這樣做。它可以在編譯器的任何階段。

    37熱度

    1回答

    我正在嘗試創建自旋鎖的啞版。瀏覽網頁時,我在x86中遇到了一個名爲「PAUSE」的彙編指令,它用於向處理器提示此CPU上當前正在運行旋轉鎖定。英特爾手冊和其它信息可用狀態 處理器使用此提示,以避免在 大多數情況下,大大提高處理器的性能的存儲器順序違反。對於 這個原因,建議在所有自旋等待循環中都放置一個PAUSE指令到 。該文檔還提到「等待(某些 延遲)」是指令的僞執行。 上述段落的最後一行是直觀的

    3熱度

    3回答

    我在VS2010中使用C++,並且我有一個帶有一堆屬性(getters和setters)的容器類(實際上是一堆帶有屬性的對象 - 但讓它簡化並假設它只是在容器類中的屬性直接。 在此容器類有一個更新功能,其重要的是,雖然更新方法執行設置器方法將被阻止。 該應用程序是多線程的,所以我想用互斥/事件/關鍵部分來處理這個問題。 我的問題是:怎麼可以我在Update方法執行時鎖定/阻止setter,而不讓s

    1熱度

    1回答

    當出現以下問題時,我正在研究二進制信號量: 假設有3個併發進程和3個二進制信號量......信號量初始化爲S0 = 1,S1 = 0,S2 = 0。這些過程有以下代碼: Process P0: Process P1: Process P2: while (true){ wait(S1); wait(S2); wait (S0); release

    1熱度

    1回答

    這聽起來可能很愚蠢,但我需要清除疑慮。作爲我的項目的一部分,我正在將此公交車票預訂系統製作爲RedBus。我只是想知道它如何在集羣環境中工作。如果我只有一張票,並且同時收到兩個請求,我將如何處理羣集中的數據,因爲我將擁有多臺服務器。我也應該維護每臺服務器的關鍵部分或所有服務器通用的地方。我嘗試了谷歌搜索,但我,不滿意我得到的答案。我想鎖定關鍵部分,但集羣中的可能性如何?

    1熱度

    2回答

    默認情況下,CRITICAL_SECTION對象是遞歸的。這種行爲可以像pthread mutex一樣配置來啓用或禁用遞歸線程訪問嗎? 澄清迴應評論:我特指Windows CRITICAL_SECTION對象,而不是Windows互斥鎖。

    2熱度

    2回答

    我有線程列表執行命令 do { commandExec->criticalSection.EnterCS(); if (!commandExec->commands.empty()) { commandExec->ExecuteCommand(commandExec->commands.front()); commandExec->comma