当双缓冲的数据这是由于被线程之间共享执行指针交换,我使用一个系统,其中一个线程从一个缓冲器读出,一个线程从另一个缓冲器读出和读出从第一个缓冲区。麻烦的是,我将如何实现指针交换?我需要使用关键部分吗?没有互锁功能可以实际交换数值。我不能让线程从缓冲区读取一个,然后开始从缓冲区读取两个,在读取的过程中,这将是appcrash,即使其他线程没有开始写入。 我在Visual Studio Ultimate
我写了下面这个简单的程序,它每隔100毫秒在屏幕上绘制一行(由timer1触发)。我注意到图画闪烁了一点(也就是说,窗口并不总是完全蓝色,但有些灰色照耀着)。所以我的想法是使用双缓冲。但是当我这样做时,情况就更糟了。现在屏幕几乎总是灰色的,并且偶尔会出现蓝色(由timer2演示,每2000毫秒切换DoubleBuffered属性)。 对此有何解释? using System;
using Sys