Foros del Web » Programación para mayores de 30 ;) » Java »

Error on thread (nullpointer)

Estas en el tema de Error on thread (nullpointer) en el foro de Java en Foros del Web. Buenas! Tengo un jar que me crea varios (161) hilos. Éstos los creo en dos fases, así: Código: for(int i=0;i<160;i++) new Reader(Integer.toString(i), open(Integer.toString(i), br, pw), ...
  #1 (permalink)  
Antiguo 08/01/2013, 02:12
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años
Puntos: 33
Error on thread (nullpointer)

Buenas!

Tengo un jar que me crea varios (161) hilos.

Éstos los creo en dos fases, así:

Código:
  for(int i=0;i<160;i++)
     new Reader(Integer.toString(i), open(Integer.toString(i), br, pw), pw, v).start();

  new Searcher(v).start();
Entonces, los 160 del bucle me los crea, pero al crear el 161 (Searcher) me da un nullpointerexception, y no se porqué...

La estructura de mis clases es así:

Código:
Reader:

public class Reader extends Thread{
  public Reader(String p, BufferedReader br, PrintWriter pw, VAR v){
    //iniciar variables
  }

  public void run(){
    //etc...
  }
}

Searcher:

public class Searcher extends Thread{
  public Reader(VAR v){
    //iniciar variables
  }

  public void run(){
    v.check();
  }
}
He pensado que quizás falta un "this" en el run de Searcher... pero no se...

¿Alguien sabe qué podría ser?

Gracias
  #2 (permalink)  
Antiguo 08/01/2013, 05:26
Avatar de hschimpf  
Fecha de Ingreso: junio-2009
Ubicación: in the World Wide Web
Mensajes: 140
Antigüedad: 14 años, 10 meses
Puntos: 17
Respuesta: Error on thread (nullpointer)

Hola DoHITB,
Has revisado la linea especifica en la que te salta el NullPointerException?
Puedes publicar ese pedazo de codigo donde salta la excepcion?

Suerte!
__________________
Hermann D. Schimpf
Visita mis repositorios de:
Clases Java: http://code.google.com/p/javaclassesrepository/
Clases PHP: http://code.google.com/p/phpclassesrepository/
  #3 (permalink)  
Antiguo 08/01/2013, 05:42
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años
Puntos: 33
Respuesta: Error on thread (nullpointer)

Sí, perdón...

Salta en la única línea del método run de Searcher.

Por eso decía que creo que el error podría ser que faltara el "this"...

Saludos!
  #4 (permalink)  
Antiguo 08/01/2013, 05:47
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Error on thread (nullpointer)

Pues no, el error es que v es null....

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #5 (permalink)  
Antiguo 08/01/2013, 05:53
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años
Puntos: 33
Respuesta: Error on thread (nullpointer)

Cita:
Iniciado por chuidiang Ver Mensaje
Pues no, el error es que v es null....

Se bueno.
Osea, que falta el "this", ¿no? porque sin el "this" queda sin referencia y lo toma como null ¿?

pues vaya error más tonto el mío...

Gracias!!


(PD: seré bueno!)
  #6 (permalink)  
Antiguo 08/01/2013, 07:54
Avatar de hschimpf  
Fecha de Ingreso: junio-2009
Ubicación: in the World Wide Web
Mensajes: 140
Antigüedad: 14 años, 10 meses
Puntos: 17
Respuesta: Error on thread (nullpointer)

Cita:
Iniciado por DoHITB Ver Mensaje
Osea, que falta el "this", ¿no? porque sin el "this" queda sin referencia y lo toma como null ¿?
En realidad en ningun momento almacenas el valor de v en la clase Searcher. O en el comentario iniciar variables almacenas alguna referencia a this.v = v?

Suerte!
__________________
Hermann D. Schimpf
Visita mis repositorios de:
Clases Java: http://code.google.com/p/javaclassesrepository/
Clases PHP: http://code.google.com/p/phpclassesrepository/
  #7 (permalink)  
Antiguo 08/01/2013, 09:30
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años
Puntos: 33
Respuesta: Error on thread (nullpointer)

Código:
public class Searcher extends Thread{
	private VAR v;
	
	public Searcher(VAR v){
		this.v = v;
	}
	
	public void run(){
		v.check();
	}
}
Pues la verdad es que si...
  #8 (permalink)  
Antiguo 08/01/2013, 09:45
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Error on thread (nullpointer)

Entonces en v que le estás pasando en el constructor es null, o bien la excepción no está dando en la línea v.check(), sino dentro del método check() de VAR.

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Etiquetas: clase, jar, string, threads
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:49.