Wie gehe ich mit mehreren Threads in einer Klasse um?

Threads werden oft auf zwei Arten entworfen (Siehe Java-Tutorials): entweder durch Erweitern der Thread-Klasse oder durch Implementieren der Runnable-Klasse. In beiden Fällen müssen Sie angeben, was im Thread ausgeführt werden soll.

Ich habe eine Klasse entworfen, einen Adapter für eine Online-Ressource, die verschiedene Arten von Informationen abruft. Diese Klasse besteht aus Methoden wie getInformationOfTypeA () und getInformationOfTypeB (). Beide enthalten Code zum Herstellen einer Verbindung mit Online-Ressourcen, sodass beide Threads verwendet werden müssen, um Deadlocks zu vermeiden.

Die Frage ist: Wie soll ich das gestalten? Ich kann es wie folgt machen, aber dann kann ich nur eine Methode implementieren:

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
  }

}

Ein anderer Weg wäre, separate Klassen für jede Methode zu erstellen, aber das erscheint mir unnatürlich.

Btw: Ich entwickle meine Anwendung in j2me

AKTUALISIEREN:

Aufgrund Ihrer Antworten ist es meines Erachtens am besten, Folgendes als Methode zu verwenden:

Was denkst du über dies:

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();
    }
}

Was denkst du über dies?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage