Autor
|
Tema: Hilos C (Leído 6,056 veces)
|
<<<-Basura->>>
Desconectado
Mensajes: 388
|
|
Hilos C
« en: 25 Febrero 2013, 16:19 pm » |
|
Hola estoy tratando de comunicar variables entre hilos pero no tengo mucha idea de como es... he intentado distintas formas pero no logro nada. como puedo hacerlo!!, tengo un pequeño ejemplo de lo que quiero hacer: #include <stdio.h> #include <sys/types.h> #include <unistd.h> #include <stdlib.h> #include <string.h> int main(){ int a = 10; int *b = &a; pid_t pid = fork(); if (pid == 0) { //Child process *b = 20; // deberia actualizar el valor de "a" } else { //Parent Process sleep(2); printf("*B2: %d\n",*b ); // imprime el antiguo valor de "a" } sleep(1); return 0; }
|
|
« Última modificación: 25 Febrero 2013, 16:36 pm por <<<-Underwar->>> »
|
En línea
|
<<<--Basura-->>>
|
|
|
0xDani
Desconectado
Mensajes: 1.077
|
1) Eso es C. 2) Estas usando procesos, no hilos.
|
|
|
En línea
|
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!
I code for $$$ Hago trabajos en C/C++ Contactar por PM
|
|
|
<<<-Basura->>>
Desconectado
Mensajes: 388
|
|
Re: Hilos C
« Respuesta #2 en: 25 Febrero 2013, 16:38 pm » |
|
No tienes algún ejemplo sencillo, es que en internet hay muchos pero complejos.
|
|
|
En línea
|
<<<--Basura-->>>
|
|
|
0xDani
Desconectado
Mensajes: 1.077
|
|
Re: Hilos C
« Respuesta #3 en: 25 Febrero 2013, 16:49 pm » |
|
Pues no he trabajado mucho con procesos la verdad, busca con el buscador del foro.
|
|
|
En línea
|
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!
I code for $$$ Hago trabajos en C/C++ Contactar por PM
|
|
|
<<<-Basura->>>
Desconectado
Mensajes: 388
|
|
Re: Hilos C
« Respuesta #4 en: 25 Febrero 2013, 17:34 pm » |
|
Y de hilos no tienes algún ejemplo.
|
|
|
En línea
|
<<<--Basura-->>>
|
|
|
rir3760
Desconectado
Mensajes: 1.639
|
|
Re: Hilos C
« Respuesta #5 en: 25 Febrero 2013, 17:44 pm » |
|
Una introducción( buena pero en ingles) al tema de hilos y procesos es "Advanced Linux Programming". Puedes descargarla en formato PDF, solo es cuestión de buscarla en la red.
Un saludo
|
|
|
En línea
|
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language
|
|
|
naderST
|
|
Re: Hilos C
« Respuesta #6 en: 25 Febrero 2013, 18:08 pm » |
|
Hola estoy tratando de comunicar variables entre hilos pero no tengo mucha idea de como es... he intentado distintas formas pero no logro nada. como puedo hacerlo!!, tengo un pequeño ejemplo de lo que quiero hacer: #include <stdio.h> #include <sys/types.h> #include <unistd.h> #include <stdlib.h> #include <string.h> int main(){ int a = 10; int *b = &a; pid_t pid = fork(); if (pid == 0) { //Child process *b = 20; // deberia actualizar el valor de "a" } else { //Parent Process sleep(2); printf("*B2: %d\n",*b ); // imprime el antiguo valor de "a" } sleep(1); return 0; }
La llamada a fork() crea un proceso hijo duplicando el código del padre solo que en el ámbito del hijo fork() retorna 0 y en el del padre retorna el pid o -1 en caso de error. Una vez duplicado el proceso sus variables son independientes ya que no comparten memoria. Puedes comunicar los procesos a través de tuberías (pipes), creas la tubería antes de llamar a fork y el proceso hijo "hereda" los descriptores de archivos.
|
|
|
En línea
|
|
|
|
x64core
Desconectado
Mensajes: 1.908
|
|
Re: Hilos C
« Respuesta #7 en: 25 Febrero 2013, 19:35 pm » |
|
Busca sobre IPC ( por lo que veo linux ).
|
|
|
En línea
|
|
|
|
durasno
Desconectado
Mensajes: 373
|
|
Re: Hilos C
« Respuesta #8 en: 25 Febrero 2013, 23:13 pm » |
|
Advanced Linux Programming lei mal o es GPL?? que buena info , no conocia este libro... Underwar si no te llevas muy bien con el ingles(como yo), te recomiendo este libro donde explican bastante bien el tema de IPC: "Programacion en Linux Kurt Wall" Saludos
|
|
|
En línea
|
Ahorrate una pregunta, lee el man
|
|
|
0xDani
Desconectado
Mensajes: 1.077
|
|
Re: Hilos C
« Respuesta #9 en: 26 Febrero 2013, 15:58 pm » |
|
Y de hilos no tienes algún ejemplo.
Este flooder que hice yo : http://foro.elhacker.net/empty-t374640.0.html
|
|
|
En línea
|
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!
I code for $$$ Hago trabajos en C/C++ Contactar por PM
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Más información en los hilos.
Sugerencias y dudas sobre el Foro
|
oklopo
|
1
|
2,209
|
2 Mayo 2004, 00:20 am
por [[SpAwN]]
|
|
|
Hilos en vb6 sin CreateThread?
Programación Visual Basic
|
Zzombi
|
4
|
6,157
|
2 Febrero 2010, 15:18 pm
por Zzombi
|
|
|
Hilos en C
Programación C/C++
|
mapers
|
2
|
6,325
|
13 Junio 2011, 10:21 am
por mapers
|
|
|
MiniLibrería de hilos
Programación C/C++
|
amchacon
|
1
|
1,793
|
10 Julio 2013, 12:41 pm
por crazykenny
|
|
|
Problema con hilos
Java
|
SARGE553413
|
2
|
2,132
|
11 Diciembre 2013, 05:58 am
por Leyer
|
|