From c0c902870f3de62a3d661e99b3912e509a724c39 Mon Sep 17 00:00:00 2001 From: yusufaytas Date: Sun, 7 Sep 2014 21:06:26 +0100 Subject: [PATCH] Added class diagram to double checked locking. --- .../etc/double_checked_locking.jpeg | Bin 0 -> 23106 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 double-checked-locking/etc/double_checked_locking.jpeg diff --git a/double-checked-locking/etc/double_checked_locking.jpeg b/double-checked-locking/etc/double_checked_locking.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..5b219cc81832231fcd9cb7e73675ef9058b954fc GIT binary patch literal 23106 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 literal 0 HcmV?d00001