fonction de synchronisation
comment puis-je faire en C# que ma fonction sera gardée par des mutex, sémaphore un.k.une fonction de synchronisation en JAVA
Essayez-vous à la garde d'une fonction, ou un membre de données?
fonction, en fait, c'est une fonction que le écrire dans un fichier, et parfois se bloque lorsque vous essayez de faire multywright...
fonction, en fait, c'est une fonction que le écrire dans un fichier, et parfois se bloque lorsque vous essayez de faire multywright...
OriginalL'auteur aharon | 2010-05-12
Vous devez vous connecter pour publier un commentaire.
Vous ne voulez pas synchroniser des fonctions comme Java - ils sont une mauvaise idée, car ils utilisent un verrou de construire d'autres qui peuvent interférer avec. Ce que vous voulez, c'est un verrou de l'objet. Pour l'essentiel, dans la classe que vous souhaitez protéger, créer une variable de type objet
Ensuite, dans la méthode, vous avez besoin de synchroniser, utilisez le verrouillage de construire d'entrer et de quitter le verrouiller automatiquement:-
...Et un trait de soulignement après le nom de la variable. Il y a une convention que je n'ai pas vu avant.
C'est la paraphrase version 🙂
Il ne compile pas non plus; pas de type de données dans la variable membre.
vous avez raison! des réservoirs!
OriginalL'auteur Stewart
Il n'y a pas de bonne façon de le faire, sauf à le faire vous-même:
Mutex est plus lent que le verrou (objet du Moniteur). C'est vraiment fait pour la croix-processus de communication et je crois utilise le système d'exploitation intégré dans mutex fonctionnalité.
OriginalL'auteur John Saunders
Vous pouvez utiliser Attribut Methodimpl(MethodImplOptions.Synchronisé)
OriginalL'auteur Gintama
Comme l'a dit John, vous pouvez utiliser
lock ()
, qui est la même chose que de Surveiller.Entrez et à Surveiller.À la sortie. Si vous avez besoin d'un inter-processus de mutex, utilisez la classe Mutex.OriginalL'auteur Nelson Rothermel