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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  FORK en java
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: FORK en java  (Leído 6,788 veces)
reylagarto19

Desconectado Desconectado

Mensajes: 24


Ver Perfil
FORK en java
« en: 1 Agosto 2012, 01:52 am »

Me he estado leyendo las normas del foro, ya que he notado que a los post del tipo "SOS necesito que me hagais el trabajo porque soy un zote y no se hacerlo" no soleis responder mucho y efectivamente como era de preveer esta claro que aqui no venimos a hacerle el trabajo a nadie, sin embargo pone que "preguntas de DUDAS tecnicas" si las soleis resolver en función de su complejidad.

Bien, pues hay va mi pregunta, pues tengo una tremenda curiosidad de saber si es posible o no usar algo en JAVA que sea SIMILAR al FORK() de lenguaje C.

Pues resultaría interesante en muchas ocasiones poder darle un espacio PROPIO de memoria a un proceso, cosa que con los Threads no se puede, pues comparten memoria. (como veis la teoria me la se  ;-) ;-) )

pero tengo gran curiosidad por saber si esa opcion esta ya implementada en java o no.


Un saludo majetes ;)


En línea

egyware


Desconectado Desconectado

Mensajes: 526



Ver Perfil WWW
Re: FORK en java
« Respuesta #1 en: 1 Agosto 2012, 02:32 am »

No he visto algo parecido así en Java.
Buscando rápidamente en Google me tope algo así... tal vez te sirva
http://docs.oracle.com/javase/tutorial/essential/concurrency/forkjoin.html

Saludos!


En línea

reylagarto19

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Re: FORK en java
« Respuesta #2 en: 1 Agosto 2012, 03:15 am »

perdon porque quizá no me he explicado bien desde un principio

la cosa es la siguiente:

Conozco la existencia de JDK 7, y de las clases que muestras en el enlace.
Mi duda era saber si alguno las habeis usado ya o si habeis trasteado con ellas para ver si me comentabais si eran equivalentes a un fork() de C.

Ademas otra duda que me surge, es si sabeis si el JDK 7 lo hay ya para MAC OX, pues me he vuelto loco a buscarlo y tengo la sensacion de que mi Eclipse tendra que esperarlo, ya que creo que solo lo hay para Windows... :-(


En línea

egyware


Desconectado Desconectado

Mensajes: 526



Ver Perfil WWW
Re: FORK en java
« Respuesta #3 en: 1 Agosto 2012, 03:23 am »

Ahhh disculpa, no había entendido tu pregunta.
Entonces yo no puedo responderte a tu pregunta, tendrás que experimentar para ver si es equivalente al Fork.

Ahh una cosa más...
Si no mal recuerdo en esas conversaciones que he tenido con compañeros que ya no es muy recomendable usar Fork si no procesos hijos o Threads ya que estos ultimos comparten la memoria del proceso sin tener que crear otro proceso.

Saludos.
En línea

ChavalChavito

Desconectado Desconectado

Mensajes: 43


Y ahora que pasa...


Ver Perfil
Re: FORK en java
« Respuesta #4 en: 1 Agosto 2012, 06:38 am »

Estuve leyendo un poco...
fork() crea un proceso hijo identico al padre.. Los applets Java no pueden lanzar ningún proceso en el cliente, porque eso sería una fuente de inseguridad y no está permitido. Las aplicaciones y los applets deben utilizar hilos de ejecución..
Los hilos se distinguen de los tradicionales procesos en que los procesos son –generalmente– independientes, llevan bastante información de estados, e interactúan sólo a través de mecanismos de comunicación dados por el sistema. Por otra parte, muchos hilos generalmente comparten otros recursos de forma directa. En muchos de los sistemas operativos que dan facilidades a los hilos, es más rápido cambiar de un hilo a otro dentro del mismo proceso, que cambiar de un proceso a otro. Este fenómeno se debe a que los hilos comparten datos y espacios de direcciones, mientras que los procesos, al ser independientes, no lo hacen. Al cambiar de un proceso a otro el sistema operativo (mediante el dispatcher) genera lo que se conoce como overhead, que es tiempo desperdiciado por el procesador para realizar un cambio de contexto (context switch), en este caso pasar del estado de ejecución (running) al estado de espera (waiting) y colocar el nuevo proceso en ejecución. En los hilos, como pertenecen a un mismo proceso, al realizar un cambio de hilo el tiempo perdido es casi despreciable.
Sistemas operativos como Windows NT, OS/2 y Linux (2.5 o superiores) dicen tener hilos "baratos", y procesos "costosos" mientras que en otros sistemas no hay una gran diferencia.
En línea

reylagarto19

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Re: FORK en java
« Respuesta #5 en: 1 Agosto 2012, 12:42 pm »

Muchas gracias por las respuestas, esta claro que tb os sabeis la teoria, jeje.

Solo una cosa mas, a pesar de la inseguridad que se genera con los fork(), en alguna ocasion especifica, no seria interesante poder usar fork() ??

supongamos que tenemos un App concurrente, no seria interesante el poder hacerlo con procesos para darle independencia a cada proceso que se genere y asi su propio espacio de memoria?? (siempre y cuando no haya necesidad de compartir datos entre procesos, en tal caso seria obvio usar Threads)

no se si me he explicado bien...
pero el caso es, si yo tengo un App en el que cada hilo necesita "bastante memoria" y ademas no hay "datos compartidos entre hilos" seria mas interesante poder hacer fork(), no?? ademas se dotaria de mas potencia a la App, por ofrecerle mas memoria, no??

o estoy yo en un pensamiento erroneo ??

Gracias chicos!
En línea

ChavalChavito

Desconectado Desconectado

Mensajes: 43


Y ahora que pasa...


Ver Perfil
Re: FORK en java
« Respuesta #6 en: 1 Agosto 2012, 16:51 pm »

No entiendo q ganarias.. un proceso puede tener un solo hilo (por asi decirlo) de control como maximo x proceso..
En cambio con multitrhead puedes tener mas hilos por proceso, 1 o mas se entiende?
mira..
http://astreo.ii.uam.es/~ortigosa/ssoo/04-Hilos-6pp.pdf
En línea

egyware


Desconectado Desconectado

Mensajes: 526



Ver Perfil WWW
Re: FORK en java
« Respuesta #7 en: 1 Agosto 2012, 20:47 pm »

Muchas gracias por las respuestas, esta claro que tb os sabeis la teoria, jeje.

Solo una cosa mas, a pesar de la inseguridad que se genera con los fork(), en alguna ocasion especifica, no seria interesante poder usar fork() ??

supongamos que tenemos un App concurrente, no seria interesante el poder hacerlo con procesos para darle independencia a cada proceso que se genere y asi su propio espacio de memoria?? (siempre y cuando no haya necesidad de compartir datos entre procesos, en tal caso seria obvio usar Threads)

no se si me he explicado bien...
pero el caso es, si yo tengo un App en el que cada hilo necesita "bastante memoria" y ademas no hay "datos compartidos entre hilos" seria mas interesante poder hacer fork(), no?? ademas se dotaria de mas potencia a la App, por ofrecerle mas memoria, no??

o estoy yo en un pensamiento erroneo ??

Gracias chicos!



En ese caso llamas otro Proceso (distinto) usando Processs

Bueno ahora con respecto a tu pregunta, no tengo que aportar xDDD
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Fork en php
PHP
WHK 0 3,675 Último mensaje 8 Diciembre 2007, 09:26 am
por WHK
Emular MultiHilos (multithread) Sin Fork (FAKE FORK) « 1 2 »
PHP
OzX 14 9,489 Último mensaje 27 Marzo 2009, 00:24 am
por OzX
Crear fork de XFCE
GNU/Linux
RakNae 3 2,915 Último mensaje 27 Noviembre 2012, 19:04 pm
por portaro
Error en el uso del fork() « 1 2 »
Programación C/C++
nolasco281 10 4,927 Último mensaje 5 Abril 2014, 23:39 pm
por nolasco281
fork
Programación C/C++
Pirat3net 1 2,208 Último mensaje 19 Diciembre 2016, 19:48 pm
por ivancea96
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines