當雙緩衝的數據這是由於被線程之間共享執行指針交換,我使用一個系統,其中一個線程從一個緩衝器讀出,一個線程從另一個緩衝器讀出和讀出從第一個緩衝區。麻煩的是,我將如何實現指針交換?我需要使用關鍵部分嗎?沒有互鎖功能可以實際交換數值。我不能讓線程從緩衝區讀取一個,然後開始從緩衝區讀取兩個,在讀取的過程中,這將是appcrash,即使其他線程沒有開始寫入。 我在Visual Studio Ultimate
我寫了下面這個簡單的程序,它每隔100毫秒在屏幕上繪製一行(由timer1觸發)。我注意到圖畫閃爍了一點(也就是說,窗口並不總是完全藍色,但有些灰色照耀着)。所以我的想法是使用雙緩衝。但是當我這樣做時,情況就更糟了。現在屏幕幾乎總是灰色的,並且偶爾會出現藍色(由timer2演示,每2000毫秒切換DoubleBuffered屬性)。 對此有何解釋? using System;
using Sys