Commit 2b1aa9b9 authored by Trisha Gee's avatar Trisha Gee
Browse files

[Ch15] Adding a synchronized solution to the problem

parent 4e9becc9
Loading
Loading
Loading
Loading
+28 −0
Changes for src/main/java/ch15/exercise1/SynchronizedCollection.java: 28 added lines, 0 removed lines.
Original line number Diff line number Diff line
package ch15.exercise1;

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class SynchronizedCollection {
  public static void main(String[] args) {
    ExecutorService threadPool = Executors.newFixedThreadPool(2);
    Data data = new DataSynchronized();
    threadPool.execute(new AddLowerCaseJob(data));
    threadPool.execute(new AddUpperCaseJob(data));
    threadPool.shutdown();
  }
}

class DataSynchronized implements Data {
  private final List<String> letters = new ArrayList<>();

  public List<String> getLetters() {
    return letters;
  }

  public synchronized void addLetter(char letter) {
    letters.add(String.valueOf(letter));
  }
}
+1 −1

File changed.

Contains only whitespace changes.