Как бороться с несколькими потоками в одном классе?
Нити часто конструируются двумя способами (см. учебники по 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
ОБНОВИТЬ:
Благодаря вашим ответам я думаю, что в качестве методов наиболее целесообразно использовать что-то вроде следующего:
Что ты думаешь об этом:
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();
}
}
Что ты думаешь об этом?