同步有关问题,一个线程往缓冲区写数据,一个线程读数据并作一定的修改,写的线程优先,请教如何避免比较好

同步问题,一个线程往缓冲区写数据,一个线程读数据并作一定的修改,写的线程优先,请问如何处理比较好?
如果用临界区,则写入的线程并没有优先权了。各路大侠指教。

------解决方案--------------------
如果正在读的时候另一线程要写应如何处理?
------解决方案--------------------
这种有优先级的要自己做同步,弄一个写标志,有在写就等待写完成
------解决方案--------------------
TerminateThread强行结束读线程?没有说错吧?
------解决方案--------------------
那直接写的线程里判断,当要写的时候, 读的线程...然后写入..
------解决方案--------------------
只要你先把逻辑理清楚,实现同步很容易。
------解决方案--------------------
这样还不如,读写互斥,写的时候不读,读的时候不写,为什么一定要要写那么优先,当没有数据读时,可以交给写
------解决方案--------------------
线程同步。
------解决方案--------------------
生产者消费者问题