Articles of multithreading

Quel est le problème sur cette serrure?

Hautement, il y a un problème dans cette serrure mais je ne pouvais pas comprendre ce que c’est. Je soupçonne fort que l’exemple ci-dessous ne se verrouille pas assez bien. Alors, quel peut être le problème? class example { object locker = new object(); void start() { for (int i = 0; i < 1000; […]

Quitter un thread bloquant une lecture TCP en C #

Mon serveur / client démarre un nouveau fil “readerThread ()” pour lire le trafic TCP entrant. Ce fil bloque sur read (). Comment puis-je quitter ce readerThread (). Une solution consiste à démarrer un autre thread qui ferme le socket lorsque le thread doit être quitté pour que la lecture se termine. Y a-t-il un […]

Voir le fil pas correctement terminé

Je développe un projet sur Visual Studio 2015 en utilisant C # et WPF. Parfois, je quitte mon projet en cours avec ma commande close et parfois avec le bouton stop debug. Le problème est qu’après quelques tests, mon PC commence à chauffer et les ventilateurs font du bruit. Je dois quitter Visual Studio pour […]

Le fil ne s’exécute pas immédiatement si vous utilisez plus de 4 BackgroundWorker

J’utilise plusieurs contrôles BackgroundWorker pour exécuter certaines tâches en multithreading. Mais j’ai constaté que lorsqu’on utilisait plus de 4 BackgroundWoker, celui de la 4ème transmission reportait plus d’une seconde à l’exécution lors de l’appel de RunWorkerAsync . Pourriez-vous m’aider, comment puis-je commencer immédiatement tous les arrière-plan class TaskLog { public int task_id; public DateTime call_time; […]

Chaque thread géré a-t-il son propre thread natif?

Je veux savoir si la création d’un thread géré dans .Net (en appelant Thread.Start() ) entraîne la création d’un seul thread natif en arrière-plan? Existe-t-il donc un thread natif correspondant à un thread géré? Si oui, lorsqu’un thread géré attend ou dort, cela signifie-t-il que le thread natif correspondant attend ou dort également?

Pouvez-vous accéder aux éléments de l’interface utilisateur à partir d’un autre thread? (soyez pas réglé)

Je vois beaucoup de discussions sur Google / ici sur la mise à jour d’un élément d’interface utilisateur à partir d’un autre thread Et si je veux juste obtenir la valeur d’une case à cocher? Est-ce que je peux faire cela sans avoir à faire quelque chose de spécial?

Exception: l’application appelée une interface qui a été organisée pour un autre thread

private void LogInButton_Click(object sender, RoutedEventArgs e) { var api = new RestAPI(“http://localhost:2624/”, UsernameTextBox.Text, PasswordTextBox.Password); api.AutenticarUsuarioFinalizado += (o, args) => { ProgressBar.IsIndeterminate = false; ProgressBar.Visibility = Visibility.Collapsed; LogInButton.IsEnabled = true; if (args.Error) return; if (args.Resultado.Autenticado) { } }; api.AutenticarUsuario(); ProgressBar.Visibility = Visibility.Visible; ProgressBar.IsIndeterminate = true; LogInButton.IsEnabled = false; } api.AutenticarUsuario (); appelle une API de repos […]

Pourquoi les opérations graphiques dans le thread d’arrière-plan bloquent-elles les opérations graphiques dans le thread d’interface utilisateur principal?

J’ai un fil d’arrière-plan qui crée des miniatures en niveaux de gris des images dans un dossier donné. Le problème que je vois est que l’appel Graphics.DrawImage () dans le thread d’arrière-plan semble en quelque sorte bloquer les opérations Graphics sur le thread d’interface utilisateur principal. J’ai peut-être mal interprété ce que je vois ici […]

Mettre à jour les contrôles WinForm à partir d’un autre thread _and_ class

Je suis en train de créer un programme WinForms, qui nécessite des threads distincts. Pour des raisons de lisibilité et de maintenabilité, j’ai séparé tout le code non-graphique en différentes classes. Cette classe “génère” également une autre classe, qui effectue certains traitements. Cependant, j’ai maintenant rencontré le problème où je dois changer un contrôle WinForms […]

Envoyer des données à .exe à partir de dll

Je développe une application basée sur un plug-in et je dois pouvoir poster des données (chaînes, tableaux) dans mon fichier EXE principal lorsque quelque chose se produit. Je ne sais pas trop comment faire. J’ai pensé à créer un fil dans l’application principale qui appellerait en permanence une méthode dans la DLL demandant des données, […]