vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
kleine Diskusion zur Exeption ContextSwitchDeadlock 
Autor: Balthasar von Graffenried
Datum: 12.03.11 13:56

Hallo VBArchiv Comunity

Vieleicht ist ein paar Leuten beim Programmieren in VB schon die Exeption aufgefallen die "ContextSwitchDeadlock" was hatt diese Exeption für eine Ursache, und wie läst sich diese Vermeiden.

Wann tritt sie auf?

Meistens tritt Sie dann auf wenn ein langer Ablauf im Programm als beispiel wenn eine lange Schleife leuft.

Dim i as Integer = 0
Dim AnzahlPointer as Integer = 20000
While i < AnzahlPointer 
i+=1
End While
Die Prozessor Auslastung schnallt hoch bis auf 70 oder 80 Prozent und folgende Exeption wird ausgeworfen

ContextSwitchDeadlock wurde erkannt.


Wie kann man das Problem lösen
Nun mir sind zwei Lösungen bekannt die ein bisschen helfen

1. Diese Fehlermeldung lässt sich ausschalten

Gehe in der IDE auf "Debuggen --> Ausnahmen --> Management Debuggin Asisstance --> ContextSwitchDeadlock" und deaktivieren sie das Häckchen bei "Ausgelöst"

Wie mir in diesem Forum aber schon beigebracht hatt ist es nicht klug Fehler zu umgehen und zu ignorieren. Deswegen gibt es eine zweite möglichkeit die häufigkeit des "ContextSwitchDeadlock" zu reduzieren.

2. Legen Sie in den Bereich in dem dieser ContextSwitchDeadlock passiert einfach ein "Application.DoEvents" damit werden Windwosmeldung zuerst verarbeitet bevor dann der nächte Prozess verarbeitet wird das sieht etwa so aus.



Dim i as Integer = 0
Dim AnzahlPointer as Integer = 20000
While i < AnzahlPointer 
Application.DoEvents()
i+=1
End While
Was meint ihr dazu?
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
kleine Diskusion zur Exeption ContextSwitchDeadlock2.910Balthasar von ...12.03.11 13:56
Re: kleine Diskusion zur Exeption ContextSwitchDeadlock1.224ModeratorDaveS12.03.11 15:19
Re: kleine Diskusion zur Exeption ContextSwitchDeadlock1.215Balthasar von ...12.03.11 16:05
Re: kleine Diskusion zur Exeption ContextSwitchDeadlock1.172ModeratorDaveS12.03.11 16:14
Re: kleine Diskusion zur Exeption ContextSwitchDeadlock1.162Balthasar von ...12.03.11 18:51
Re: kleine Diskusion zur Exeption ContextSwitchDeadlock1.118Micke14.03.11 14:24

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel