Java - Extends Thread | Problema con la extencion de una clase.

   
Vista:
Imágen de perfil de Sebastian

Extends Thread | Problema con la extencion de una clase.

Publicado por Sebastian (8 intervenciones) el 15/10/2015 03:08:28
Hola,

estoy haciendo un programa servidor que recibe múltiples clientes, estos son derivados a una clase que extiende de Thread a medida que son escuchados, estos hilos que atienden a los clientes son almacenados en un Arraylist<Thread>. Mi problema comienza cuando intento llamar a uno de los métodos de la clase que extiende de Thread, no me deja utilizar los métodos de la clase base solo me deja utilizar los métodos de Thread. ¿Alguien sabe a que se debe esto?


Gracias por tu tiempo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Extends Thread | Problema con la extencion de una clase.

Publicado por Ting (1 intervención) el 15/10/2015 04:49:54
Buenas noches.
Utiliza la sincronización de hilos y semáforos para que no siga ejecutando lo que no deseas.
Aquí ahí unos links muy buenos sobre el tema.

http://javabasico.osmosislatina.com/curso/progfinal2/threads2.htm

http://winterbe.com/posts/2015/04/30/java8-concurrency-tutorial-synchronized-locks-examples/

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Sebastian

Extends Thread | Problema con la extencion de una clase.

Publicado por Sebastian (8 intervenciones) el 15/10/2015 06:19:12
Agradezco tu comentario pero creo que no has entendido mi problema, no es que el programa me arroje un error por que dos hilos se súper ponen o algo así, el problema es que, en mi caso, Eclipse no me deja utilizar métodos que si tengo en mi clase...

Tengo una clase ClaseX, esta clase tiene un método HacerAlgo() y ademas extiende de Thread.
Pongamos que la instancia de mi clase es InstClass, y yo intento hacer lo siguiente:

Thread instClass = new ClaseX();
instClass.start();
// Luego intento llamar a un método de la clase base.
instClass.HacerAlgo(); // <---- aquí es donde falla el programa

Por alguna razón que desconozco (seguramente tiene que ver con herencia), no puedo acceder a los métodos de la clase básica y estoy seguro que tiene que ver con Extends Thread pero no se que es.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Extends Thread | Problema con la extencion de una clase.

Publicado por Tom (912 intervenciones) el 15/10/2015 18:59:49
Aparte de conocer poquito de java, te pueden estar pasando 2 cosas, a saber:

- Tu clase-que-extiende-thread no declara como públicos sus métodos (o son protected y no estás en el mismo paquete).
- Si has declarado Arraylist<Thread>, lo que obtendrás de él serán objetos de la clase Thread. No hay más. Haz un cast al objeto que obtienes del array o declara el array para contener objetos de tu clase.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Borrame extends Thread {
	/* */
	public void test() {};
	/* */
	public static void main(String args[]) {
		ArrayList<Thread> lista1 = new ArrayList();
		ArrayList<? extends Thread> lista2 = new ArrayList();
		ArrayList<Borrame> lista3 = new ArrayList();
 
		Borrame bm1 = (Borrame)lista1.get(0);
		Borrame bm2 = (Borrame)lista2.get(0);
		Borrame bm3 = lista3.get(0);
	}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Sebastian

Extends Thread | Problema con la extencion de una clase.

Publicado por Sebastian (8 intervenciones) el 16/10/2015 01:00:38
Gracias por tu prepotencia pero no vayas de chulo en un foro que no es exclusivo de expertos ni mucho menos. Y si supieras tanto como insinuás sabrías que el problema tiene que ver con herencia, nada mas alejado de lo que me dices en tu comentario. Como sea el problema ya esta resuelto, me olvide de extender la clase y utilice una interfaz así que problema resuelto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar

Extends Thread | Problema con la extencion de una clase.

Publicado por Tom (912 intervenciones) el 16/10/2015 09:27:06
Ni prepotencia ni leches. Has hecho una pregunta en la que no das datos y lo único que indicas es que no tienes ni idea de lo que estás haciendo. De hecho cuando intentas ampliar tu questión cuentas cosas distintas que también dan a entender que no te has leído ni un miserable tutorial de Java.

Quizás tú tenías claro cual era tu problema, pero desde luego, los que hemos intentado contestarte, no.

Así que menos "sensibilidad", tron, decirte que aprendas java no es ser prepotente.

Salud!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar