Voor de Java liefhebbers van concurrency control heb ik een leuke concurrency instinker:
is de volgende code thread safe (kan het object zonder enige extra concurrency control veilig in een multithreaded omgeving gebruikt worden)
Waarom is deze class wel of niet thread safe
Ik hoop dat jullie eens een poging willen wagen en ben eigelijk wel benieuwd naar de antwoorden die mensen gaan geven. Ik wil samen met jullie eens gaan kijken welke consequenties dit allemaal kan hebben (en die zijn er zeker).
[edit]
overzichtje
threadsafe
-MSalters
-Creepy
-Whoami
-Little Pinguin
-Orphix
niet threadsafe
Zoijar
[edit]
Ik heb nog even een getter toegevoegd aan het voorbeeld. Ik ben dit vergeten en aan het einde van de discussie zag ik deze fout pas.
[edit2]
handige documentatie:
Double-checked locking and the Singleton pattern
Java theory and practice: Fixing the Java Memory Model, Part 1
Java theory and practice: Fixing the Java Memory Model, Part 2
JSR 133 (Java Memory Model) FAQ
is de volgende code thread safe (kan het object zonder enige extra concurrency control veilig in een multithreaded omgeving gebruikt worden)
code:
1
2
3
4
5
6
7
8
9
10
11
| public class MyInt{ private int value; public MyInt(int value){ this.value = value; } public int getValue(){ return value; } } |
Waarom is deze class wel of niet thread safe
Ik hoop dat jullie eens een poging willen wagen en ben eigelijk wel benieuwd naar de antwoorden die mensen gaan geven. Ik wil samen met jullie eens gaan kijken welke consequenties dit allemaal kan hebben (en die zijn er zeker).
[edit]
overzichtje
threadsafe
-MSalters
-Creepy
-Whoami
-Little Pinguin
-Orphix
niet threadsafe
Zoijar
[edit]
Ik heb nog even een getter toegevoegd aan het voorbeeld. Ik ben dit vergeten en aan het einde van de discussie zag ik deze fout pas.
[edit2]
handige documentatie:
Double-checked locking and the Singleton pattern
Java theory and practice: Fixing the Java Memory Model, Part 1
Java theory and practice: Fixing the Java Memory Model, Part 2
JSR 133 (Java Memory Model) FAQ
[ Voor 61% gewijzigd door Alarmnummer op 23-08-2006 07:18 ]