Articles of locking

Quelle est la différence entre PESSIMISTIC_READ et PESSIMISTIC_WRITE dans JPA?

J’ai lu l’article Verrouillage et access simultané dans Java Persistence 2.0 et exécutez l’exemple d’application. Mais je ne peux toujours pas réaliser la différence entre PESSIMISTIC_READ et PESSIMISTIC_WRITE. J’ai essayé de modifier le code, et où le code utilisant PESSIMISTIC_READ et PESSIMISTIC_WRITE aura le même résultat que le SQL sera appelé avec “pour la mise […]

Pourquoi «lock (typeof (MyType))» est-il un problème?

MSDN donne l’avertissement suivant à propos du mot-clé de locking dans C #: En général, évitez de verrouiller un type public ou des instances indépendantes de votre code. Les constructions communes lock (this), lock (typeof (MyType)) et lock (“myLock”) violent cette règle: * lock (this) is a problem if the instance can be accessed publicly. […]

Dois-je verrouiller ou marquer comme volatile lors de l’access à un simple indicateur booléen en C #?

Disons simplement que vous avez une opération simple qui s’exécute sur un thread d’arrière-plan. Vous souhaitez fournir un moyen d’annuler cette opération afin de créer un indicateur booléen défini sur true à partir du gestionnaire d’événements click d’un bouton d’annulation. private bool _cancelled; private void CancelButton_Click(Object sender ClickEventArgs e) { _cancelled = true; } Vous […]

Est-il correct d’utiliser une chaîne comme object de locking?

Je dois créer une section critique dans une zone sur la base d’un ensemble fini de chaînes. Je souhaite que le verrou soit partagé pour la même instance de chaîne (quelque peu similaire à l’approche Ssortingng.Intern ). Je considère l’implémentation suivante: public class Foo { private readonly ssortingng _s; private static readonly HashSet _locks = […]

Incrémentation atomique SQL et stratégies de locking – est-ce sûr?

J’ai une question sur le SQL et les stratégies de locking. Par exemple, supposons que je dispose d’un compteur de vues pour les images sur mon site Web. Si j’ai un sproc ou similaire pour effectuer les instructions suivantes: START TRANSACTION; UPDATE images SET counter=counter+1 WHERE image_id=some_parameter; COMMIT; Supposons que le compteur d’un id_image spécifique […]

Pourquoi ConcurrentBag est-il si lent dans .Net (4.0)? Est-ce que je le fais mal?

Avant de commencer un projet, j’ai écrit un test simple pour comparer les performances de ConcurrentBag à partir de (System.Collections.Concurrent) relatives au locking et aux listes. Je suis extrêmement surpris que ConcurrentBag soit 10 fois plus lent que le locking avec une simple liste. D’après ce que j’ai compris, le ConcurrentBag fonctionne mieux lorsque le […]

C # lock statement, quel object verrouiller?

J’ai 3 questions avec lesquelles j’ai besoin d’aide. Quels sont les objects / références corrects à transmettre en tant que paramètre d’instruction de lock ? J’ai vu beaucoup d’exemples de codes et j’ai remarqué que les objects / références transmis pouvaient être non liés à la classe actuelle ou à toute autre classe du programme […]

Sécurité du filetage C # avec get / set

Ceci est une question détaillée pour C #. Supposons que j’ai une classe avec un object et que cet object est protégé par un verrou: Object mLock = new Object(); MyObject property; public MyObject MyProperty { get { return property; } set { property = value; } } Je veux un thread d’interrogation pour pouvoir […]

LINK: erreur irrécupérable LNK1104: impossible d’ouvrir le fichier ‘D: \… \ MyProj.exe’

À l’aide de Visual Studio 2010, lorsque je crée + exécute mon application à intervalles rapprochés, j’obtiens souvent l’erreur suivante. Si j’attends une minute ou deux et que j’essaie encore, ça marche bien. Unlocker affirme qu’aucune poignée ne verrouille le fichier exécutable. Comment puis-je découvrir ce qui le verrouille? Si c’est Visual Studio lui-même, que […]

Pourquoi ne pouvons-nous pas verrouiller un type de valeur?

J’essayais de lock une variable Boolean lorsque j’ai rencontré l’erreur suivante: ‘bool’ n’est pas un type de référence requirejs par la déclaration de locking Il semble que seuls les types de référence sont autorisés dans lock instructions de lock , mais je ne suis pas sûr de comprendre pourquoi. Andreas déclare dans son commentaire : […]