Entrar
¿Nuevo usuario? Inscribirme
DesarrolloJava · Desarrollo de Software en Java/J++/J#
? ¿Ya estás suscrito? Entra a Yahoo!

Consejos

¿Sabías que...?
Podés añadir enlaces a sitios relacionados de tu grupo.

Mensajes

  Mensajes Ayuda
Avanzado
Convertidor txt a xml   Lista de mensajes  
Responder | Reenviar Mensaje #8655 de 25928 |
Re: [Java] Duda de estaticas

Como bien dice Oscar... lo que es estático es sólo el código, no las variables que se creen dentro de él.
Sí tendrias ese problema si dentro usaras variables (objetos) estáticos de la clase...

Saludos!

Oscar Gosdinski wrote:
Me parece que estás un poco mal con tus conceptos sobre clases, si
tengo el siguiente método:
public static int sumar(int a, int b) {
  int c = a + b;
  return c;
}

y en un thread llamas sumar(2,5) te va a dar 7 siempre, aún cuando en
el preciso instante en que estás pasando de la primera linea a la
segunda hacen una llamada en otro thread a sumar(1,2) - de acuerdo a
lo que indicas, el sumar(2,5) te daría 3 - ya que cada ejecución
maneja su propia copia de valores.
El problema de sincronización se presenta cuando dos threads intentan
modificar el mismo objeto (la mis ma referencia), no cuando varios
threads llaman a un mismo método.

Saludos
Oscar


On Wed, 3 Nov 2004 19:36:02 -0600, Victor Bendig <victorbendig@...> wrote:
>  un momento... si es un método estático... y varios threads pueden
>  accesar a él... entonces debes asegurarte que cuando un thread lo
>  llame, otro no lo llame al mismo tiempo, es decir:
>  Si tenemos dos threads A y B ambos se ejecutan al mismo tiempo y
>  llaman al mismo método estático.
>  Tenemos que, como nosotros no sabemos nunca en que forma se ejecutará
>  un thread, puede que el método se ejecute hasta la mitad para un
>  thread y luego el otro thread llame al mismo método poniendo un valor
>  distinto en las variables locales y cuando el otro método vuelva a
>  ejecutarse se encontrará que las variables han cambiado: por ej:

>  A manda un string "Hola Mundo"
>  B manda un string "Como Estás?"

>  Se ejecuta el Thread A que pone "Hola Mundo", la JVM empieza con la
>  ejecución del método estático y setea la variable local a "Hola
>  Mundo", puede estar escribiendo el Array cuando para.

>  El otro Thread ejecuta el método y pone "Como Estás?" y recibe un
>  Array con esa hilera, luego el método A sigue su ejecución normal pero
>  con la variable cambiada y podría retornar algo como  "Hola Como
>  Estás?"
--
Saludos
Oscar


------------------------------
DesarrolloJava | Desarrollo de Software en Java/J++/J#
------------------------------
Direcciones del grupo:
Publicar un mensaje: DesarrolloJava@...
Suscribirse........: DesarrolloJava-Subscribe@...
Desuscribirse......: DesarrolloJava-Unsubscribe@...
Administrador......: DesarrolloJava-Owner@...
Página del grupo...: http://www.gruposyahoo.com.ar/group/DesarrolloJava
------------------------------
Libros sobre el tema (castellano):
http://www.amazon.com/exec/obidos/external-search?tag=analisiydisen-20&keyword=Java%20spanish&mode=books




Jue, 4 de Nov, 2004 1:33 pm

djmamana2002
Sin conexión Sin conexión
Enviar correo Enviar correo

Reenviar Mensaje #8655 de 25928 |
Desplegar mensajes Autor Ordenar por fecha

Hola Lista: Estoy necesitando algún programita que me convierta un archivo txt a formato xml, sea o no de Java. Es que lo necesito urgente y antes de...
"Destéfano, Juan P...
jpdestefano1975
Sin conexión Enviar correo
28 de Oct, 2004
3:50 pm

Hola a todos, Os voy a plantear una duda que tengo. Bueno, mas bien son dos o tres a cerca de las clases estaticas. Yo tengo una clase que se llama ...
JBarbero Quiter
jbarbero@...
Enviar correo
28 de Oct, 2004
4:06 pm

... siempre y cuando no modifique un recurso externo.. no hará falta hacerlo síncrono.. ( creo :) ) ... si el método no depende del 'estado' de la clase.....
d2clon@...
Enviar correo
28 de Oct, 2004
4:36 pm

Yo tuve que hacer lo mismo. Te paso el codigo asi le pegas una mirada. Saludos, Diego public static int[] stringToIntArray(String string, String delimiter) { ...
Diego Desvard
ddesvard
Sin conexión Enviar correo
28 de Oct, 2004
5:45 pm

Muchas gracias Diego y a todos también ... -- ... Jesús Barbero Rodriguez Quiter Servicios Informáticos S.L. Tlf: (+34) 902233323 Santander (Cantabria) ...
JBarbero Quiter
jbarbero@...
Enviar correo
29 de Oct, 2004
7:43 am

un momento... si es un método estático... y varios threads pueden accesar a él... entonces debes asegurarte que cuando un thread lo llame, otro no lo llame...
Victor Bendig
victorbendig
Sin conexión Enviar correo
4 de Nov, 2004
1:37 am

Me parece que estás un poco mal con tus conceptos sobre clases, si tengo el siguiente método: public static int sumar(int a, int b) { int c = a + b; return...
Oscar Gosdinski
ogosdinski
Sin conexión Enviar correo
4 de Nov, 2004
2:40 am

Como bien dice Oscar... lo que es esttico es slo el cdigo, no las variables que se creen dentro de l. S tendrias ese problema si dentro usaras variables...
Dj Mamana
djmamana2002
Sin conexión Enviar correo
4 de Nov, 2004
1:34 pm

Hola gente: Cuando un thread accesa a un método, accesa primero al Objeto (viendo Objeto = Instancia) es decir, instanciandolo primero y luego llamando al...
Victor Bendig
victorbendig
Sin conexión Enviar correo
4 de Nov, 2004
7:58 pm

No estoy de acuerdo con tu razonamiento, a no ser que lo haya interpretado mal (es que con el tema de la manzana ya me perdi un poco)... A mi entender con que...
Ignacio
polesoft
Sin conexión Enviar correo
4 de Nov, 2004
9:29 pm

... Un método sólo indica qué es lo que hay que hacer con los parámetros pasados como parámetro. Volviendo al ejemplo de la suma, lo único que estamos...
Oscar Gosdinski
ogosdinski
Sin conexión Enviar correo
4 de Nov, 2004
9:52 pm

Sip, me convencieron. Hice todas las pruebas que me dijeron, incluso hice el método suma no estático y los 1000 Threads que corri nunca fallaron en la suma....
Victor Bendig
victorbendig
Sin conexión Enviar correo
5 de Nov, 2004
12:15 am

Siempre es bueno validarlo con la practica. Gracias por compartir el dato. Saludos. On Thu, 4 Nov 2004 18:15:00 -0600, Victor Bendig <victorbendig@...>...
Ignacio
polesoft
Sin conexión Enviar correo
5 de Nov, 2004
12:46 pm

Más bien gracias por sacarme de mi error ;-) ... -- Victor Bendig...
Victor Bendig
victorbendig
Sin conexión Enviar correo
10 de Nov, 2004
3:39 pm
Avanzado

Copyright © 2009 Yahoo! de Argentina S.R.L. Todos los derechos reservados.
Política de privacidad - Condiciones del Servicio - Reglas de la comunidad de Yahoo! - Ayuda