Articles of multithreading

comment faire un générateur de nombres aléatoires ac # thread-safe

J’ai une boucle dans mon code Parallel.For(0, Cnts.MosqPopulation, i => { DoWork() }); toutefois, dans la fonction DoWork() , il existe plusieurs appels à un générateur de nombres aléatoires, défini comme suit: public static class Utils { public static readonly Random random = new Random(); } C’est une instance statique pour qu’elle ne soit semée […]

Comment tuer le fil en C #?

J’ai un fil qui ouvre un formulaire de type MyMessageAlert. Ce formulaire est une fenêtre contextuelle qui s’ouvre lorsque je l’appelle. Il a une timer qui appelle une méthode CloseWindow () après 30 secondes. m_messagAlert = new MyMessageAlert(); ParameterizedThreadStart thStart = new ParameterizedThreadStart(m_messagAlert.setMessage); Thread thread = new Thread(thStart); thread.Start(strMessage); //at this point, the MyMessageAlert form […]

Interface utilisateur WPF sur plusieurs threads?

J’ai une grosse application WPF MVVM (plus de 100 fenêtres actuellement et toujours en croissance.) Bien que j’essaie de faire tout ce que je peux sur les threads d’arrière-plan, il arrive toujours que les résultats doivent être renvoyés au thread d’interface utilisateur pour être affichés. Lorsque plusieurs fenêtres le font en même temps, cela peut […]

Est-ce qu’une méthode statique partage ses variables locales et que se passe-t-il lors de l’utilisation simultanée de différents threads?

Question C # – J’essaie de déterminer s’il est correct d’utiliser une méthode statique où, dans la méthode, certaines variables locales sont utilisées. Les variables locales sont-elles “partagées” entre les utilisations de la méthode? Que se passe-t-il par exemple si la méthode statique est appelée / utilisée simultanément par différents threads? Est-ce qu’un thread bloque […]

Liste partagée entre différents threads dans .NET

J’ai une liste statique dans une classe qui sera accessible par différents threads, chacun ajoutant, lisant et supprimant son propre élément unique de la liste. J’aimerais savoir si je dois m’inquiéter de la sécurité de cette variable de thread, car même si le même object List est partagé entre des threads, ils ne modifient que […]

Cycle de vie multithread IOC DI dans les tâches en arrière-plan

J’ai une application qui utilise IOC et DI pour créer et injecter des services. J’ai une couche de service qui gère une certaine logique métier. Dans la couche de service, j’ai un référentiel qui communique avec la firebase database. Ce référentiel utilise un DataContext qui n’est pas thread-safe. Je souhaite exécuter certaines fonctions sur le […]

VSTO Word post save event

Désolé pour la longueur de ceci, dans le passé on m’a demandé auparavant d’inclure tout ce que j’ai essayé en posant ce genre de questions. J’écris un complément Word et je dois apporter des modifications au document que je ne peux pas utiliser à l’aide du modèle object Word. Par conséquent, une fois le document […]

Les sémaphores empêchent-ils la réorganisation des instructions?

Je cherchais un équivalent attendu des déclarations de locking en C #. Certaines personnes suggèrent d’utiliser un SemaphoreSlim binary de la manière suivante: await semaphore.WaitAsync().ConfigureAwait(false); try { //inner instructions } finally { semaphore.Release(); } Je sais que cela pose certains problèmes (par exemple, ce n’est pas réentrant), mais ce qui me préoccupe le plus est […]

Problème de «croix rouge» sur MenuSsortingp et ToolSsortingp

J’ai un logiciel qui a bien fonctionné sur de nombreuses machines, bien que sur une machine, un problème semble se produire occasionnellement. MenuSsortingp et ToolSsortingp apparaissent tous deux sur un fond blanc et blanc avec une croix rouge, comme contrôle personnalisé le ferait si vous créiez un object nul. Cela ne se produit pas pendant […]

Comment naviguer dans une liste de liens en utilisant webbrowser?

J’ai une liste d’URL et j’ai besoin de les naviguer. Comment puis-je m’assurer que chaque URL appellera l’événement DocumentCompleted? J’ai déjà essayé de créer plusieurs threads et d’utiliser un seul thread également, mais l’application ne déclenche toujours pas l’événement DocumentCompleted pour chaque URL. Existe-t-il un moyen de créer une boucle dans une liste d’URL et […]