[ThreadStatic] private static Foo _foo; public static Foo CurrentFoo { get { if (_foo == null) { _foo = new Foo(); } return _foo; } }
Le thread de code précédent est-il sécurisé? Ou devons-nous verrouiller la méthode?Est-ce un moyen sûr d'initialiser un [ThreadStatic]?
C'est de là que vient mon exemple. J'essaye juste de comprendre s'il est possible qu'un thread obtienne _foo == null mais alors un changement de fil se produit et un autre thread _foo obtient nouveau'ed même si ce n'est pas null? –
Non. Un _foo par thread, donc les changements de contexte n'ont aucun impact. – Will