Bonjour,
Concernant l'atomicité en Java, d'après ce que j'ai lu, c'est une possibilité qui permet d'utiliser des variables sans que les threads ne puissent manipuler celles-ci en même temps.
Voici l'exemple:
Ici c'est un code ThreadSafe et ma question est de savoir comment la classe AtomicLong permet de sécuriser l'accès à la variable par plusieurs threads ? Est-ce qu'elle aussi utilise des verrous ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 @ThreadSafe public class CountingFactorizer implements Servlet { private final AtomicLong count = new AtomicLong(0); public long getCount() { return count.get(); } public void service(ServletRequest req, ServletResponse resp) { BigInteger i = extractFromRequest(req); BigInteger[] factors = factor(i); count.incrementAndGet(); encodeIntoResponse(resp, factors); } }
Merci d'avance pour vos explications.
Partager