Jak radzić sobie z wieloma wątkami w jednej klasie?

Tematy są często projektowane na dwa sposoby (zobacz tutoriale java): albo przez rozszerzenie klasy Thread, albo przez implementację klasy Runnable. Tak czy inaczej, musisz określić, co będzie działać w wątku.

Zaprojektowałem klasę, adapter do zasobu online, który pobiera różne rodzaje informacji. Ta klasa składa się z metod takich jak getInformationOfTypeA () i getInformationOfTypeB (). Oba zawierają kod do łączenia się z zasobami online, więc oba muszą być wątkowane, aby uniknąć zakleszczeń.

Pytanie brzmi: jak mam to zaprojektować? Mogę to zrobić jak poniżej, ale wtedy mogę zaimplementować tylko jedną metodę:

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
  }

}

Innym sposobem byłoby stworzenie oddzielnych klas dla każdej metody, ale wydaje mi się to nienaturalne.

Btw: Rozwijam swoją aplikację w j2me

AKTUALIZACJA:

Dzięki twoim odpowiedziom myślę, że najbardziej nadaje się do użycia czegoś takiego, jak poniżej:

Co o tym sądzisz:

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

Co o tym sądzisz?

questionAnswers(6)

yourAnswerToTheQuestion