Articles of multithreading

Arrêter et redémarrer HttpListener?

Je travaille sur une application qui a un HttpListener . Mon objective est que l’utilisateur éteigne et écoute l’auditeur à sa guise. J’ai mis l’auditeur dans un nouveau fil et j’ai un problème à abandonner ce fil. J’ai lu quelque part que si vous essayez d’abandonner un thread qui se trouve dans un contexte non […]

Comment démarrer un fil pour garder l’interface graphique actualisée?

J’ai une fenêtre avec un bouton qui déclenche un long traitement. J’ai mis le traitement dans un thread séparé, mais – à ma grande surprise – cela bloque l’interface graphique de toute façon. Aucun contrôle n’est actualisé, je ne peux même pas déplacer la fenêtre. La question est donc de savoir comment démarrer le fil […]

C # Comment compter les threads gérés dans mon AppDomain?

Est-il possible de savoir combien de threads gérés j’utilise (y compris ThreadPool)? Lorsque j’obtiens le compte de threads non gérés via GetProcess, j’en ai un nombre insensé (21 au tout début)

Domaine de création de threads et le ramasse-miettes

Cela fait-il une différence pour le ramasse-miettes si nous déclarons un thread au niveau de la méthode plutôt qu’au niveau de la classe, comme: //scenario 1 public class Foo { public Foo() { new Thread(()=> /*engine*/) { IsBackground = true }.Start(); } } //scenario 2 public class Bar { private readonly Thread _engineThread = null; […]

Minuterie dans la discussion dans le service Windows

Je ne peux pas comprendre comment procéder de la meilleure façon avec ce problème. À l’heure actuelle, j’ai un service Windows dont la seule tâche est de rassembler les données d’une firebase database avec un DSN spécifique, puis d’envoyer un courrier électronique si les données sont valides. Le service contient une timer qui coche toutes […]

Filetage et méthodes statiques en C #

Voici une méthode d’extension sans signification comme exemple: public static class MyExtensions { public static int MyExtensionMethod(this MyType e) { int x = 1; x = 2; return x } } Dites qu’un thread d’exécution se termine jusqu’à et incluant la ligne: x = 2; Le processeur change ensuite de contexte et un autre thread […]

Fenêtre d’attente WPF

Lorsque je veux exécuter l’opération longue, je veux afficher la fenêtre de dialog du modèle (fenêtre d’attente) Je souhaite afficher cette fenêtre d’attente dans différents threads sous la forme ShowDialog () Avant d’entrer en mode de fonctionnement long, je vais afficher la fenêtre de dialog de modèle Après avoir terminé l’opération longue, je ferme cette […]

Pourquoi .net Threadpool est-il utilisé uniquement pour des tâches de courte durée?

J’ai lu à de nombreux endroits que .net Threadpool est destiné à des tâches de courte durée (peut ne pas dépasser 3 secondes). Dans toutes ces citations, je n’ai pas trouvé de raison concrète de ne pas l’utiliser. Même certaines personnes ont dit que cela entraînait des résultats désagréables si nous utilisions des tâches de […]

Migrer une application mono-thread vers une exécution parallèle multi-thread, simulation de monte carlo

J’ai été chargé de prendre une simulation existante de monte carlo à un seul thread et de l’ optimiser . Ceci est une application console #, aucun access à la firebase database, il charge les données une seule fois à partir d’un fichier csv et les écrit à la fin. C’est donc plutôt lié au […]

Application console multi-thread C # – La console se ferme avant la fin des threads

J’ai une application console # qui crée jusqu’à 5 threads. Les threads s’exécutent correctement, mais le thread d’interface utilisateur s’arrête à la fin de son travail. Existe-t-il un moyen de garder le thread principal de l’interface utilisateur en cours d’exécution tant que les threads latéraux sont en cours d’exécution? foreach (var url in urls) { […]