Pregunta

En UNIX, puedo, por ejemplo, decirle al sistema operativo que la asignación será necesaria en el futuro con posix_fadvise (POSIX_FADV_WILLNEED) . A continuación, leerá los datos si lo cree así.

¿Cómo saber la intención del acceso a Windows?

¿Fue útil?

Solución

En realidad, como lo sugirió Anders en su mayoría, no existe un método de este tipo en las funciones de administración de memoria disponibles en Windows 7 y versiones anteriores .

Existen 2 formas diferentes de hacer algo similar:

  • Lea los datos de forma asíncrona con ReadFileEx . Es posible que los datos aún estén en la memoria caché del archivo cuando se necesiten más adelante.
  • Abra el archivo con una sugerencia de transmisión con el atributo FILE_FLAG_SEQUENTIAL_SCAN de CreateFile . Readahead quizás se haga automáticamente.

Otros consejos

A partir de Windows 8, está PrefetchVirtualMemory para este propósito.

Puedes pasar FILE_FLAG_RANDOM_ACCESS o FILE_FLAG_SEQUENTIAL_SCAN a CreateFile ()

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top