(Supongo que está hablando de un sistema operativo donde los procesos se ejecutan en diferentes espacios de direcciones virtuales). Este era un problema que estaba viendo hace muchos años, pero no implementé completamente una solución. Pensé que el mejor enfoque era crear un asignador compatible con STL que asignara memoria compartida. Esto fue parte de lo que me motivó a escribir este asignador de memoria dinámica de código abierto, altamente portátil / configurable, de mejor ajuste y razonablemente rápido: el Administrador de memoria de montón. Pero nunca llegué a intentar configurarlo para la memoria compartida de UNIX y envolverlo para la compatibilidad STL. (Puedo aplicar una licencia MIT si la necesita. También puede obtenerla de versiones anteriores de Chromium y Android con esa licencia. Está en el códec de video del software WebM. Sugiero que no se infle objetos como Google, al vincular en todos los archivos, independientemente de si se utilizaron. Si la memoria de su teléfono Android anterior es escasa, lo siento, no me culpe).
Si esto le parece una posibilidad, tenga en cuenta que este asignador no es seguro para subprocesos, por lo que el envoltorio necesitaría protegerlo con un mutex. Y debe usar la herencia prioritaria si es posible. Si su objetivo es un procesador multinúcleo, puede valer la pena buscar un asignador o estructuras de datos que utilicen técnicas sin bloqueo y / o minimicen secciones críticas.
Si desea evitar la sobrecarga de la asignación dinámica de propósito general, hay un árbol binario balanceado AVL, una tabla hash y una selección de funciones hash en esta biblioteca de contenedores intrusivos: wkaras / C-plus-plus-intrusive-container -templates. Pero nuevamente, este código no es seguro para subprocesos y necesitaría protección mutex idealmente con herencia prioritaria.
- ¿Alguien puede dar un ejemplo en Java de pasar una matriz unidimensional, una matriz bidimensional y una matriz tridimensional por referencia y luego manipularlos?
- Cómo escribir un algoritmo de la pila de programas usando una matriz en C
- ¿Hay algún libro sobre estructuras de datos y algoritmos que tenga estructuras de datos diferentes, su complejidad, sus usos y todas las cosas interesantes sobre ellos?
- Encuentre la suma máxima del subconjunto de longitud k de un conjunto dado, de modo que la suma sea estrictamente menor que M
- ¿Qué significa la recursividad en matemáticas?