Ребят, кто понял логику, подскажите, пожалуйста, для чего в методе returnIron() возвращают ноаый объект?
Задание:
Поставьте один synchronized, чтобы diana и igor гладили по очереди, ведь утюг всего один!
Подсказка:
использовать блокировку на уровне класса.
package com.javarush.task.task17.task1718;
/*
Глажка
*/
public class Solution {
public static void main(String[] args) {
Person diana = new Person("Diana");
Person igor = new Person("Igor");
diana.start();
igor.start();
}
public static class Person extends Thread { //Человек
public Person(String name) {
super(name);
}
@Override
public void run() {
Iron iron = takeIron();
Clothes clothes = takeClothes();
iron(iron, clothes);
returnIron();
}
protected Iron takeIron() {
System.out.println("Taking the iron");
return new Iron();
}
protected Iron returnIron() {
System.out.println("Returning the iron");
return new Iron();
}
protected Clothes takeClothes() {
return new Clothes("T-shirt");
}
protected void iron(Iron iron, Clothes clothes) {
System.out.println(getName() + " is ironing a " + clothes.name);
}
}
public static class Iron {
} //Утюг
public static class Clothes {//Одежда
String name;
public Clothes(String name) {
this.name = name;
}
}
}
Timur
30 уровень
Для чего возвращают новый объект в методе returnIron()?
Решен
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #2322530
3 апреля 2021, 14:36
наверное поэтому?
0
Timur
4 апреля 2021, 00:05
Очень остроумно, конечно.
Ты, как я вижу, не так понял вопрос. Я спрашиваю:"Для чего возвращают новый объект по логике задачи?"
0
hidden #2322530
4 апреля 2021, 06:47
я остального когда не вижу, условий тоже.
чтобы логику задачи понять
0
Timur
4 апреля 2021, 08:14
Добавил код и условие
0