elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  duda al crear procesos en windows
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: duda al crear procesos en windows  (Leído 4,064 veces)
Drewermerc

Desconectado Desconectado

Mensajes: 259



Ver Perfil WWW
duda al crear procesos en windows
« en: 14 Abril 2014, 05:31 am »

Hola a todo.
bueno pues estoy tratando de crear procesos padre e hijo en windows pero el problema o la duda que tengo es que el programa me compila y todo pero lo que no entiendo es por que no se crea el proceso hijo y se muestra el mensaje que deberia mostrar nadamas se muestra el del proceso del padre.
bueno espero que me puedan ayudar con esta duda.
Código
  1.  
  2.    #include <stdio.h>
  3.    #include <process.h>
  4.  
  5.    void mi_thread( void *params )
  6.    {
  7.         printf("Proceso hijo");
  8.          _endthread();
  9.    }
  10.    main()
  11.    {
  12.  
  13.         int padre, i;
  14.         padre = _beginthread( mi_thread, 0, NULL);  
  15.         switch (padre)
  16.        {
  17.                case -1:
  18.                        perror("no se pudo crear el proceso");
  19.                break;
  20.                case 0:
  21.                    for(i=0; i <= 10; i++)
  22.                        printf("Soy el hijo\n");
  23.                break;
  24.                default:
  25.                        for(i=0; i<=10; i++)
  26.                    printf("Soy el padre\n");
  27.                break;
  28.  
  29.        }
  30.  
  31.  
  32.    }
  33.  
  34.  


En línea

nolasco281


Desconectado Desconectado

Mensajes: 319


Ver Perfil
Re: duda al crear procesos en windows
« Respuesta #1 en: 14 Abril 2014, 06:22 am »

Hola amigo.

No se si te ayude esto pero hace poco estaba viendo algo parecido. y lo pregunte en el foro.

se trataba de la cracion de pocesos padre he hijos.

aca el link.

http://foro.elhacker.net/programacion_cc/error_en_el_uso_del_fork-t412092.0.html

lamento si no te ayuda mucho, pero haci es como lo entendi yo.

Saludos espero que te resuelvan la duda por si no te funciona el link cuidate.


En línea

Lo que se puede imaginar... se puede programar.
Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.958


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: duda al crear procesos en windows
« Respuesta #2 en: 14 Abril 2014, 06:32 am »

Thread es hilo, no proceso, para crear un proceso usa CreateProcess.

En cuanto a _beginthread mejor mira la documentacion, los valores de retorno que vos esperas no coinciden, siempre te entra en default al devolverte el HANDLE del hilo.

Pone un getchar despues de _beginthread asi el proceso no termina y vas a leer "Proceso hijo" (aunque es un hilo).
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
nolasco281


Desconectado Desconectado

Mensajes: 319


Ver Perfil
Re: duda al crear procesos en windows
« Respuesta #3 en: 14 Abril 2014, 06:35 am »

exacta mente eso iba a comentar siempre entra al default

aca una muestra como te mencionaron antes.



« Última modificación: 14 Abril 2014, 06:40 am por nolasco281 » En línea

Lo que se puede imaginar... se puede programar.
Drewermerc

Desconectado Desconectado

Mensajes: 259



Ver Perfil WWW
Re: duda al crear procesos en windows
« Respuesta #4 en: 14 Abril 2014, 08:15 am »

bueno muchas gracias por responder.
y bueno ya vi que salio el segundo mensaje peor porque no se repite 10 como el del padre.
bueno tambien queria decirle si no tienen un manual tutorial sobre el tema  al de la pagina de window sno le entendi muy bien pero bueno detodos modos mañan lo checo bien.
bueno tabien si me podrias decir cuando seria combeniente usar los threads ya que e leido que cuando se usan hilos se puede optimizar la memoria o que tipo de programas podria realizar.
bueno tambien si algien me quede explicar por que cuando estaba leyendo decia que se nesesita ser muy cuidado al programarlos y que se nesesita de un semaforo.
y una pregunta que es mejor crear procesos o threads.
En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.958


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: duda al crear procesos en windows
« Respuesta #5 en: 14 Abril 2014, 12:57 pm »

bueno muchas gracias por responder.
y bueno ya vi que salio el segundo mensaje peor porque no se repite 10 como el del padre.

El mensaje "Proceso hijo" se escribe en el hilo una vez y como ya te dijimos los mensajes del main no estan bien manejados, nunca es 0 el resultado de _beginthread y por eso siempre obtenes el mensaje de "Soy el padre", cosa que no deberia suceder nunca, crear un hilo en Windows no es como hacer un fork en *NIX.

bueno tabien si me podrias decir cuando seria combeniente usar los threads ya que e leido que cuando se usan hilos se puede optimizar la memoria o que tipo de programas podria realizar.

En cualquier programa donde quieras hacer dos o mas tareas al mismo tiempo.

bueno tambien si algien me quede explicar por que cuando estaba leyendo decia que se nesesita ser muy cuidado al programarlos y que se nesesita de un semaforo.

Si, un semaforo o mucho mejor un Mutex en Windows para sincronizar los datos compartidos. Te recomiendo leer la MSDN o algun libro para Windows y  sino trabajar en *NIX. No tiene mucho sentido tratar de usar Posix en Windows ...

y una pregunta que es mejor crear procesos o threads.

No hay mejor o peor, son dos cosas diferentes. Todo proceso tiene un hilo principal al iniciar y puede crear mas.
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Drewermerc

Desconectado Desconectado

Mensajes: 259



Ver Perfil WWW
Re: duda al crear procesos en windows
« Respuesta #6 en: 15 Abril 2014, 04:47 am »

hola Eternal Idol.
bueno gracia spor responder y pues buscare infomacion haber que encuentro.
saludos.
En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.958


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: duda al crear procesos en windows
« Respuesta #7 en: 15 Abril 2014, 05:43 am »

De nadas y suerte con eso  ::)
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines