Je connais en C# quand vous avez un objet que vous voulez utiliser comme un verrou pour le multi-thread, vous devez le déclarer comme statique à l'intérieur d'une classe, que l'instance de classe va exécuter dans un thread séparé.Les objets verrouillés dans Java doivent-ils être statiques?
Cela vaut-il également pour Java? Quelques exemples en ligne semblent déclarer l'objet de verrou comme final seulement ...
Éditer: J'ai une ressource que je veux limiter à seulement un accès de fil à la fois. Une classe qui étend Thread sera utilisée pour créer plusieurs instances et démarrée en même temps. Que devrais-je utiliser?
Merci.
En fait, si vous voulez verrouiller toute la classe, vous pouvez simplement faire: synchronisé (MyClass.class) {...} Vous n'avez pas besoin d'un objet de verrouillage statique. Sauf si vous avez plusieurs ressources. Vous pouvez également utiliser java.util.concurrent.locks. * Qui ont beaucoup de types de verrous utiles avec plus de flexibilité. –