Предположим, у меня есть класс, который реализует интерфейс Runnable
, и я должен сделать 5 экземпляров данного класса в основной программе. Я хотел бы сохранить их либо в массиве, либо в коллекции. Поскольку класс реализует Runnable
, я понимаю, что единственный способ сохранить его - в контейнере потоков, таком как Thread[]
. Однако, если я это сделаю, я не могу использовать переопределенные классы toString()
, например, или любой другой пользовательский метод/поле.Сохранение нескольких потоков в Java
public class LittleClass implements Runnable{
public void run(){
}
}
public static void main(String[] args){
Thread[] smallClasses = new Thread[5];
// initialize and so...
smallClasses[i].customField//not accessible
System.out.println(smallClasses[i])//gives Thread[Thread-X,X,]
}
Почему вы не можете просто сохранить массив 'LittleClass'? – Andrey
Если бы я сделал это, то создание новой темы с потоком t = новая тема (новый LittleClass()) не будет сохраняться в массиве LittleClass [], или я что-то пропустил? :) –
@ Mr.Potson: Нет ничего, что помешало бы вам создать свой массив или коллекцию объектов LittleClass, а затем итерацию через массив, создающий потоки. Но что более важно, вы пропустили ответ Грея. Вам лучше посмотреть на это и на его учебник, поскольку это лучший способ. –