From 27c1d94e06b1019b4e5918d7aaf59f87ae5f2f25 Mon Sep 17 00:00:00 2001 From: Sander Hautvast Date: Fri, 20 Sep 2019 14:11:38 +0200 Subject: [PATCH] minor updates --- readme.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/readme.md b/readme.md index 04ea160..11b2b9f 100644 --- a/readme.md +++ b/readme.md @@ -7,6 +7,9 @@ The code is presented in 'puzzler' style. So it can contain unsafe code and it's - [`SafeSequence`](src/chapter1/SafeSequence.java) Uses *synchronized* to guarantee ordered reads/updates. ### cretans +_'All the Cretans are liars'_ -- Epimenides the Cretan + (https://en.wikipedia.org/wiki/Epimenides_paradox) + The motivation for this code is that it's easy to shoot yourself in the foot with threads in java and how to prevent that. I would like to add here that java has evolved over the years while keeping less useful concepts (ie. object.wait(), or volatile), while more modern languages have fewer outdated threading primitives and are therefore safer to use. - [`Cretan`](src/chapter1/cretans/Cretan.java) A simple class that has mutable state and that has no protection from being shared in a dysfunctional way.