Unterschiede Threadbehandlung Version 1.1 zu neueren Versionen

28/03/2008 - 14:26 von Annegret Jäger | Report spam
Hallo NG,

kennt jemand die Unterschiede bei der Threadbehandlung?
Konkret gibt es hier eine Anwendung die mit der Framework-Version 1.1
entwickelt worden ist. Die Anwendung làuft stàndig und verarbeitet in
regelmàßigen Abstànden Daten aus einem externen System.

Die Anwendung ist àußerst wichtig da die Produktion davon abhàngt. Ab und zu
jedoch hàngt das System. Der Grund ist noch nicht gefunden worden. Jetzt soll
eine Erweiterung gemacht werden, die ich nur sehr ungern mit der Version 1.1
machen möchte. Ich brauche nun von Euch Argumente warum man auf eine neue
Framework-Version und wenn je, welche, umsteigen sollte. Besonders wichtig
ist in dem Zusammenhang die Thread-Behandlung. Hat es hierzu Verbesserungen
gegeben? Oder sind in der alten Version Schwachstellen bekannt?

Für Eure Tipps bedanke ich mich im Voraus.

Anne
 

Lesen sie die antworten

#1 Thomas Scheidegger
29/03/2008 - 11:52 | Warnen spam
Hallo Annegret


Oder sind in der alten Version Schwachstellen bekannt?



das SP1 für .NET 1.1 ist drauf?
In der MSKB sind diverse Artikel,
die auf 'Schwachstellen' im Threading deuten.


kennt jemand die Unterschiede bei der Threadbehandlung?
Hat es hierzu Verbesserungen gegeben?



insbesondere mit aktuellstem 2.0SP1 (ist auch in .NET 3.5 enthalten)
sind AFAIK neben div. Implementations-Bugs sogar einige
interne, konzeptionelle Probleme 'behoben' worden.
(es gibt auch ein paar Neuigkeiten, zB BackgroundWorker)
Des weiteren kann der 2.0+ Debugger im Zusammenspiel
Threads<>GUI jetzt viele Regelverletzungen schon erkennen!

Ich empfehle daher unbedingt, bei intensivem Multithreading
besser die 2.0SP1 (oder gleich die ganze 3.5 + VS2008!) einzusetzen.

Temporàr:
Solange man nicht von den paar Breaking-Changes 1.1 => 2.0 betroffen ist,
könnte man auf einem Rechner _nur_ die 2.0+SP1 Runtime installieren
und mal darauf die 1.1-App ausführen (ggf mit .config -Datei Anpassungen).


Aber:
für 'simples' Multithreading funktionierte im Prinzip auch die 1.x Runtime,
sofern alle Regeln 101% sauber eingehalten wurden.
Daher dürften die meisten Probleme mit Threads nicht im Framework
sondern in unsauberem SourceCode die eigentliche Ursache haben...
Den bei Multithreading gilt halt generell die Nulltoleranz für Fehler!





Thomas Scheidegger - 'NETMaster'
http://www.cetus-links.org/oo_dotnet.html - http://dnetmaster.net/

Ähnliche fragen