Saltar al contenido

¿Cómo compartir memoria entre procesos creados por fork ()?

Esta es la contestación más válida que te podemos dar, pero estúdiala pausadamente y analiza si se puede adaptar a tu proyecto.

Solución:

Puede utilizar la memoria compartida (shm_open(), shm_unlink(), mmap()etc).

#include 
#include 
#include 
#include 
#include 
#include 

static int *glob_var;

int main(void)
 PROT_WRITE, 
                    MAP_SHARED 

No es posible cambiar una variable global porque el nuevo proceso creado (hijo) tiene su propio espacio de direcciones.

Entonces es mejor usar shmget(),shmat() desde POSIX API

O puedes usar pthread ya que pthreadsestán compartiendo el globalLos datos y los cambios en la variable global se reflejan en los padres.

Luego lea algunos tutoriales de Pthreads.

Reseñas y valoraciones

Si crees que ha resultado útil este artículo, agradeceríamos que lo compartas con más entusiastas de la programación y nos ayudes a extender esta información.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *