Потоки часто проектируются двумя способами ( см. Руководства по Java ): либо путем расширения класса Thread, либо путем реализации класса Runnable. В любом случае вам нужно указать, что будет выполняться внутри потока.
Я разработал класс, адаптер для онлайн-ресурса, который получает различную информацию. Этот класс состоит из методов, таких как getInformationOfTypeA () и getInformationOfTypeB (). Оба содержат код для подключения к онлайн-ресурсам, поэтому оба должны быть пронизаны, чтобы избежать тупиков.
Вопрос в том, как мне это спроектировать? Я могу сделать это, как показано ниже, но тогда я могу реализовать только один метод:
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
}
}
Другим способом было бы создание отдельных классов для каждого метода, но мне это кажется неестественным.
Кстати: я разрабатываю свое приложение в j2me
UPDATE:
Благодаря вашим ответам я считаю наиболее подходящим использование в качестве методов чего-то вроде следующего:
Что вы думаете об этом:
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();
}
}
Что вы думаете об этом?