Los subprocesos a menudo se diseñan de dos maneras (see java tutorials): extendiendo la clase Thread o implementando la clase Runnable. De cualquier manera, debe especificar qué se ejecutará dentro del hilo.¿Cómo lidiar con múltiples hilos en una clase?
Diseñé una clase, un adaptador para un recurso en línea, que recupera diferentes tipos de información. Esta clase consta de métodos como getInformationOfTypeA() y getInformationOfTypeB(). Ambos contienen código para conectarse a recursos en línea, por lo que ambos deben enhebrarse para evitar interbloqueos.
La pregunta es: ¿cómo debería diseñar esto? Puedo hacerlo como abajo, pero entonces sólo puedo poner en práctica un método:
public class OnlineResourceAdapter implements Runnable {
public void run() {
//get stuff from resource
getInformationOfTypeA();
}
public static void main(String args[]) {
(new Thread(new OnlineResourceAdapter())).start();
}
public void getInformationOfTypeA(){
//get information of type A
}
public void getInformationOfTypeB(){
//get information of type B
}
}
Otra forma sería mediante la creación de clases separadas para cada método, pero que parece poco natural para mí.
BTW: Estoy desarrollando mi solicitud en J2ME
ACTUALIZACIÓN:
Gracias a sus respuestas creo que es más satisfaciendo a usar algo como lo siguiente: como métodos
¿Qué opinas de esto:
public class OnlineResourceAdapter{
public void getInformationOfTypeA(){
Thread t = new Thread(new Runnable() {
public void run() {
//do stuff here
}
});
t.start();
}
public void getInformationOfTypeB(){
Thread t = new Thread(new Runnable() {
public void run() {
//do stuff here
}
});
t.start();
}
}
Wha ¿piensas en esto?
danben se hace eco de mi opinión. El patrón de estrategia es una cosa que tal vez quiera ver. Tener clases separadas parece una forma limpia para mí en este caso – Aadith