package com.javarush.test.level17.lesson04.task01; import java.util.ArrayList; import java.util.List; /* Синхронизированные заметки 1. Класс Note будет использоваться нитями. Поэтому сделай так, чтобы обращения к листу notes блокировали мютекс notes, не this 2. Все System.out.println не должны быть заблокированы (синхронизированы), т.е. не должны находиться в блоке synchronized */ public class Solution { public static class Note { public final List<String> notes = new ArrayList<String>(); public void addNote(int index, String note) { System.out.println("Сейчас будет добавлена заметка [" + note + "] На позицию " + index); synchronized (notes) { notes.add(index, note);} System.out.println("Уже добавлена заметка [" + note + "]"); } public void removeNote(int index) { System.out.println("Сейчас будет удалена заметка с позиции " + index); synchronized (notes){ String note = notes.remove(index); System.out.println("Уже удалена заметка [" + note + "] с позиции " + index);} } } }
Leave A Comment