thread-synchronization

    0熱度

    1回答

    我已經閱讀了很多關於緩存和線程同步的SO和其他站點,但我仍然無法得到我的問題的答案。 .NET Thread Safety for Static Dictionary Cache How does lock work exactly? Why are locks performed on separate objects? http://msdn.microsoft.com/en-us/magaz

    0熱度

    1回答

    對不起標題的第4必須跑,我找不到更好的解釋我的問題... 我有一個艱難的時間,試圖在我的應用程序中同步不同的線程。對於在這個問題上有新面貌的人來說,這可能是一個簡單的問題,但經過幾個小時的關於僵局的調查之後,我的頭部正在爆炸,而且我找不到一個安全可靠的寫同步機制的方法:( 基本上,我有一個在多線程運行的.NET程序(在一個單一的過程中的一切,所以無需IPC)我有4個線程。 1線,說它被稱爲Spec

    0熱度

    1回答

    我想僅與WINAPI調用同步線程,但我沒有成功。 只要我的WNDPROC收到消息,情況就是LOG日誌和日期活動。 問題是我的WNDPROC需要寫入日誌,因爲寫入文件需要時間,所以它會失控。我試圖在WNDPROC開始時立即進入關鍵部分,並在寫入日誌完成後立即離開關鍵部分,但沒有運氣。如何讓他們相互等待?

    1熱度

    1回答

    我正在用C編寫一個程序。爲了簡單起見說:有很多變量,許多線程都可以讀取和寫入。每次寫入它們時,都會通過原子交換(GCC原子操作,同步和交換)進行寫入。每次讀取其中一個變量時,是否需要使用原子加載?還是原子寫入足以避免在數據寫入過程中讀取數據? 注意,任何地方,需要從這些瓦爾第一張價值的一個使用數據: int success = 0; while (!success) { int x =

    2熱度

    2回答

    我需要同步的方法調用,使線程可以500ms的睡眠之後,調用此方法的線程調用。我有10個線程可能同時運行,因此只需簡單介紹Thread.Sleep(500)就沒有幫助。我怎樣才能以最簡單的方式實現這一目標?你有什麼建議? _pool = new Semaphore(0, 10); _pool.Release(10); ... pool.WaitOne(); Thread thr = new

    1熱度

    1回答

    考慮下面的線程函數: UINT MyClass::threadFunc(LPVOID lParam) { // 1. Initialize stuff // 2. Validate stuff // 3. Do first task // 4. Do second task // 5. Un-initialize everything and r

    0熱度

    3回答

    我有幾個功能必須同步實施3秒。我使用soundpool,振動模式和背景動畫播放聲音。他們三人都分開工作。但我無法正確計時,以便一起開始。 這3個函數需要每15秒重複調用一次。並會在點擊按鈕時停止。我試着用這樣的東西,但它不能正常工作。 myThread = new Thread(new Runnable(){ @Override public void run() {

    0熱度

    1回答

    我正在嘗試多線程同步。對於一個背景,我有一套約100000個對象 - 可能更多 - 我想以不同的方式每秒處理多次。 現在我最關心的是同步的性能。 這是我認爲應該工作得很好(我省略了所有的安全方面,因爲這只是一個測試程序,如果出現錯誤,程序將會崩潰..)。我寫了兩個funktions,第一個由程序的主線程執行,第二個由所有其他線程運行。 void SharedWorker::Start() {

    0熱度

    1回答

    我在獲取此代碼塊的工作時遇到問題(對於長度感到抱歉)。該代碼被消毒以顯示相關部分來診斷問題。 從控制檯應用程序運行時,它工作正常。 但是,當從ASP.NET應用程序調用Utlities.SendBulkEmail時,BulkEmailCompleted例程永遠不會觸發,正是這個例程增加了m_CompletedWorkers計數器。 如何重構SendBulkEmail例程以使用AsyncOperat

    0熱度

    6回答

    我可以問我解釋Java中的線程和同步的工作原理嗎? 我想編寫一個高性能的應用程序。在這個應用程序中,我從文件中讀取數據到一些嵌套的類中,這些類基本上是HashMap周圍的堅果殼。 數據讀取完成後,我啓動需要通過數據並執行不同檢查的線程。但是,線程永遠不會改變數據! 如果我可以保證(或至少試着保證;)我的線程永不改變數據,我可以使用它們調用包含數據的對象的非同步方法嗎? 如果多個線程訪問非同步方法,