在Linux/Darwin/Windows中,有没有一种特定于操作系统的方法,将对某些虚拟内存页面的访问限制为只有一个线程,这样当另一个线程试图访问它时,操作系统将拦截并报告错误?
我正在尝试用多个进程来模拟fork的行为,其中每个进程都有自己的内存,除了一些共享内存,主要是为了避免所有编程错误,即一个工作进程访问另一个工作进程的内存。
发布于 2016-11-30 08:52:32
一般来说,这是不可能的。线程的整个思想是让多个执行流共享相同的地址。如果你是一个内核模式的kommando,你也许可以修改一些页面表,线程使用这些页面表使页面无法从用户模式访问,然后解锁它们。
https://stackoverflow.com/questions/40863500
复制相似问题