R
Robert Klemme
Hi,
the recent thread "Serious concurrency problems on fast systems"
inspired me to put together a small demo that shows how different ways
of concurrency control affect execution. The example shares a dummy
configuration with a single long value. Multiple threads access the
shared resource read only and depending on test scenario a single thread
updates it from time to time. Concurrency control is done in these ways:
1. Plain synchronized on a single shared resource.
2. Synchronized but with redundant storage and update via observer pattern.
3. Copy on write with an immutable object and an AtomicReference.
You can download it here
http://docs.google.com/leaf?id=0B7Q7WZzdIMlIMDI4ZDk0ZGItYzk1My00ZTc1LWJlYmQtNDYzNWNlNzA3YTJm&hl=en
Have fun
robert
the recent thread "Serious concurrency problems on fast systems"
inspired me to put together a small demo that shows how different ways
of concurrency control affect execution. The example shares a dummy
configuration with a single long value. Multiple threads access the
shared resource read only and depending on test scenario a single thread
updates it from time to time. Concurrency control is done in these ways:
1. Plain synchronized on a single shared resource.
2. Synchronized but with redundant storage and update via observer pattern.
3. Copy on write with an immutable object and an AtomicReference.
You can download it here
http://docs.google.com/leaf?id=0B7Q7WZzdIMlIMDI4ZDk0ZGItYzk1My00ZTc1LWJlYmQtNDYzNWNlNzA3YTJm&hl=en
Have fun
robert