mutual-exclusion

    1熱度

    2回答

    只想知道監視器中的互斥是否處於過程/方法級別,或者是否處於監視器級別。 我的意思是,在第一種情況下,可能有2個線程訪問監視器,但它們將運行在不同的過程中。在第二種情況下,即使調用兩個不同的過程,也不會有2個線程加入監視器。 假設它處於監視器級別,似乎更安全。但是,是不是在那裏有可能在監視器中運行2個不同的線程,每個修改不同的共享變量,監視器不會允許這種情況發生?如果是這樣的話,這會不會降低系統的並

    3熱度

    3回答

    使用the lock statement,可以「確保一個線程不會進入關鍵代碼段,而另一個線程進入關鍵段,如果另一個線程嘗試輸入被鎖定的代碼,它將等待,阻止,直到對象被釋放「。 如果我想要的行爲是,如果另一個線程試圖進入鎖定的代碼,它會跳過整個代碼(而不是等待鎖釋放)?浮現在我的腦海裏的想法是使用一個標誌,像 if(flag) return; flag = true; //do stuff he

    0熱度

    1回答

    我正試圖解決相當容易的問題。我有一個主線程,它繪製一個框架和另一個線程(FrameThread),每次都準備這個框架。兩個線程應共享相同的MyFrame對象。我想從主線程控制FrameThread,即:MyFrame已準備就緒 - >在主線程中繪製 - >保持FrameThread運行。目前,我沒有以下內容: private class FrameEngine { private bo

    13熱度

    2回答

    以上兩者有什麼區別? 這個問題來到我的腦海,因爲我發現, 監視器和鎖提供互斥 信號量和條件變量提供同步 是這是真的? 而且同時搜索,我發現這個article 任何澄清討好。

    0熱度

    1回答

    目前我面臨着我無法大量的工作和搜索後,解決一個問題,我問過類似的問題,但沒有得到任何答覆,也許是因爲我沒有正確地問它,所以我刪除了這個問題。 好吧我正在使用MailBEE.net對象庫下載電子郵件,它的工作正常,除非如果再次調用下載方法,而前一個調用仍處於下載階段,則兩個消息副本開始下載,這是錯誤的。的ASP.net頁面上 我打電話說電子郵件下載一個ASHX處理程序 public class sy

    0熱度

    1回答

    我正在使用C#處理兩種類型的應用程序。一個是Web服務,一個是MVC3應用程序。 我對兩者都有同樣的問題。我正在嘗試創建一個方法,在請求時返回分佈式節點的記錄。 併發問題導致這種情況是危險的。一旦進程「A」請求記錄工作。如果進程「B」在數據庫檢查記錄「A」之前請求一個,它們可能會得到相同的記錄,這對該系統不利。 在web服務我有一個被稱爲「GetRecordToProcess」一個Web方法。在控

    0熱度

    1回答

    經典Peterson-2 algorithm的免爭議複雜度爲4(因爲它對共享寄存器內存執行4次讀/寫操作)是否存在一些Peterson-2算法的版本,它需要較少的共享訪問 - 註冊內存? 很明顯,1訪問是不可能的。但關於2或3訪問呢? 謝謝

    9熱度

    4回答

    我有一個類表示一個有限狀態機,它應該在永久循環中運行並檢查它是當前狀態。在每個狀態機器將設置它的下一個狀態並且落入idle狀態或做一些工作。我想讓另一個線程在工作時改變機器的狀態。這將導致競賽狀況如預期。因此,我添加了機器的互斥鎖定/解鎖打包循環以及允許其他線程更改機器當前狀態的公共方法。 class Robot { public: enum StateType {s1,s2,s3,

    1熱度

    1回答

    我有一個類,它包含一個BYTE*,一個參考計數器和一個CRITICAL_SECTION,它可以保護他們免受併發訪問。 我想用std::tr1::shared_ptr<BYTE>替換所有這些。該MSDN說: 多個線程可以讀取和寫入 不同shared_ptr對象的同時,即使對象是股權份。 一切聽起來都很好,直到我發現來自該類的CRITICAL_SECTION在它之外被用來「鎖定」它並以互斥的方式改變它

    0熱度

    4回答

    我與列編號,tDate,描述,退幣,卡希銀行交易表中的多個時間相加行。我想看看我怎麼花我的錢,特別是在亞馬遜和一個叫梅佐店,所以我想這樣的結果: Month Amazon Mazo Total 1 100 200 300 我嘗試這樣的: SELECT MONTH(tDate) AS Month, SUM(IF(description LIKE '%amazon%',c