2009-06-10 13 views
0

Was ist besser Ansatz Threading oder asynchrone Programmierung.Frage über asynchrone Programmierung, Threading in. NET

Ich habe beide vor allem in Datenbankoperationen lesen können wir beide Ansätze verwenden.

Ist mein Verständnis korrekt?

Bitte geben Sie einige Richtlinien? Wat alle Szenarien, die wir Threading verwenden können und alle Szenarien asynchron Programmierung ist gut?

Dank SC

+3

+ schließen: Kein Anschein einer Frage hier. – Juliet

Antwort

2

Threading und asynchrone Programmierung ist im Wesentlichen die gleiche Sache. Threading ist der Motor, der asynchrone Programmierung ermöglicht.

Verwenden Sie es in Situationen, in denen Sie eine Hintergrundaufgabe starten müssen, damit der Benutzer zu anderen Dingen wechseln kann, anstatt auf den Abschluss der Aufgabe warten zu müssen.

Joseph Albahari's tutorial on threading in C# ist ein guter Ort, um mit dem Lernen zu beginnen.

0

Wenn Sie große Skalierbarkeit mit kleinen Hardwareressourcen benötigen, zeichnet sich das Async-Modell durch, aber auf Kosten der Komplexität. Wenn Sie nicht skalieren müssen, können Sie sich darauf konzentrieren, I/O mit Threads zu blockieren. Der Begriff der Skalierbarkeit ist sehr unterschiedlich. Dies kann schnell zu einem ziemlich tiefen Thema werden, das auf der Grundlage dessen, was Sie erreichen wollen, Forschung benötigt. Einige Grundlagen zu Async-IO finden Sie unter here. Müssen Sie Tausende von Netzwerkanforderungen gleichzeitig mit einem einzelnen Server bearbeiten? Wenn ja, könnte asynchrone E/A das sein, was Sie brauchen. Sie erwähnen Datenbankoperationen ... Im Allgemeinen bieten die meisten DB-Implementierungen keine asynchrone Option. Angesichts Ihrer vagen Frage glaube ich nicht, dass es eine spezifische Antwort gibt. Wie mit so ziemlich allem ... es kommt darauf an.