@thatmaniscool

Как объеденить метод интерфейса с потоком в Java?

Прежде всего создаю класс для сообщения:
public class ArrayIsFull extends Exception{
	private int size;
	
	public ArrayIsFull(int UserSize) {
		size = UserSize;
	}
	
	public String Message (){
		return "Your array is full! Max size is: " + size;
	}
}

После чего создаю интерфейс и объединяю его с предыдущим
public interface MyInterface <T> {
	 void put (T UserValue) throws ArrayIsFull;
}

Далее создаю рабочий класс для основной программы и тут у меня затруднения:
public class WorkerClass <T> implements Runnable, MyInterface<T> {
	T [] array; // Массив
	Thread flows; // Поток
	private int size;
	
	public WorkerClass(T [] UserArray) {
		size = 0;
		array = UserArray;
		flows = new Thread (this);
		flows.start();
	}

	// И все, тут я застрял, что делать то?:)
	public void run() {
		// TODO Auto-generated method stub

	}

	// Этот метод мне нужно поместить в поток.
	public void put(T UserValue) throws ArrayIsFull {
		if (size == array.length){
			throw new ArrayIsFull (array.length);
		}
		array[size++] = UserValue;
	}
}

Ну и соотвественно класс с точкой входа в программу:
public class MainClass {

	public static void main(String[] args) {
		
		WorkerClass workerclass = new WorkerClass (/*object*/);
		
		try{
			workerclass.flows.join();
		} catch (InterruptedException message){
			System.out.println(message.getMessage());
		}
	}
}

Буду благодарен за помощь:)
  • Вопрос задан
  • 216 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы