当前位置: 代码迷 >> 多核软件开发 >> 多线程同步的有关问题
  详细解决方案

多线程同步的有关问题

热度:10011   发布时间:2013-02-26 00:00:00.0
多线程同步的问题? - 其他开发语言 / 汇编语言
我想实现一种功能:分配一块内存区域,在一个线程访问或使用的时候,别的所有将使用该内存区域的线程就排队等待。我看了Windows的多线程同步的书,可那些对象可以实现代码级的多线程同步,就是说给定的代码是固定的,然后别的线程在使用内存区域的时候可实现排队同步。在WINDOWS编程中有没有数据级的多线程同步方法,就是说在一个线程使用一个内存区的时候别的线程就使用不了该区域,同时各线程对内存数据区的处理方法可以自定,可以变化,不受“类”方法的限制。

打个比方:mov 00000001H,01H(在0~4k页中)
  mov 00000002H,02H
  mov 00000003H,03H
  mov 00000004H,04H
  以上为一个线程的代码,这时另一个线程就会等待这一段代码的执行完毕后(不会被系统切换而使以上代码的完整性被破坏),再执行另一段代码:
add 00000001H,02H
add 00000002H,05H
add 00000003H,03H
add 00000004H,01H


------解决方案--------------------------------------------------------
Win32中的关键区可以
------解决方案--------------------------------------------------------
VirtualProtect
如果你连SEH都不了解,我真不确认能解决你的问题。。。。。。
  相关解决方案