C'est une expression typique de code sans verrouillage impliquant volatile
variables. À la première ligne que vous lisez l' volatile
une fois et ensuite travailler avec elle. En attendant qu'un autre thread puisse mettre à jour l' volatile
, mais vous êtes uniquement intéressé par la valeur que vous avez d'abord lire.
En outre, même lorsque la variable de membre en question n'est pas volatile mais au final, cet idiome a à faire avec des caches CPU que la lecture à partir d'un emplacement de pile est plus de cache-friendly que la lecture à partir d'un tas aléatoires emplacement. Il y a aussi plus de chance que le local var finirez lié à un PROCESSEUR inscrire.
Pour ce dernier cas, il existe effectivement une certaine controverse, puisque le compilateur JIT sera généralement prendre soin de ces préoccupations, mais Doug Lea est l'un des gars qui s'accroche sur le principe général.