public class MutableText {
private String text = "";
public void add(char letter) {
text += letter;
}
public String toSorted() {
char[] letters = text.toCharArray();
Arrays.sort(letters);
return new String(letters);
}
}
MutableText mutableText = new MutableText();
Future<Void> aFuture = void_fork(() -> {
synchronized (mutableText) {
mutableText.add('A');
}
});
Future<Void> bFuture = void_fork(() -> {
synchronized (mutableText) {
mutableText.add('B');
}
});
Future<Void> cFuture = void_fork(() -> {
mutableText.add('C');
});
join(aFuture, bFuture, cFuture);
System.out.println(mutableText.toSorted());