Schlagwort: C#

Threads und Deadlocks

Veröffentlicht am: 17. Oktober 2015
Autor:

Der Einsatz von Sperren zur Thread-Synchronisation birgt immer ein Deadlock-Risiko. Blockierungen treten dann auf, wenn zwei Sperren in unterschiedlicher Reihenfolge benutzt werden. Das folgende Beispiel zeigt exemplarisch eine fehlerhafte Implementierung, die im Multithreading-Einsatz zu Deadlocks führen wird.

Weiterlesen …

Manuelle Thread-Synchronisation

Veröffentlicht am: 28. Dezember 2012
Autor:

Die Verwendung mehrerer Abarbeitungspfade (Threads) innerhalb eines Prozesses erfordert diverse Maßnahmen zur Thread-Synchronisation, um Wettlaufsituationen auf gemeinsam genutzte Ressourcen zu unterbinden. In den meisten Fällen handelt es sich dabei um die Ressource Speicher.

Weiterlesen …

Nullwerte für Wertetypen

Veröffentlicht am: 11. Oktober 2012
Autor:

Im .NET Framework sind Datentypen entweder Wertetypen oder Referenztypen. Wertetypen haben grundsätzlich einen Standardkonstruktor, der dafür sorgt, dass alle Member-Variablen mit ihrem Standardwert initialisiert werden. Als Standardwert wird dabei auf Speicherebene der Wert 0 verstanden. Es ist generell nicht möglich, für Wertetypen einen Standardkonstruktor zu implementieren.

Weiterlesen …

Automatische Thread-Synchronisation

Veröffentlicht am: 26. Juli 2011
Autor:

Werden mehrere Abarbeitungspfade (Threads) innerhalb eines Prozesses verwendet, sind Maßnahmen zur Thread-Synchronisation notwendig, um Wettlaufsituationen (Race Conditions) auf gemeinsam genutzte Ressourcen (meist Speicher) zu verhindern.

Weiterlesen …

Erweiterungsfunktionen in C# 3.0

Veröffentlicht am: 17. Mai 2011
Autor:

Erweiterungsfunktionen werden ab C# 3.0 unterstützt. Sie ermöglichen das nachträgliche Hinzufügen von Member-Funktionen zu Klassen und Schnittstellen. Versiegelte Klassen können ebenso erweitert werden, wie Klassen anderer Assemblies. Erweiterungsfunktionen können bestehende Funktionen nicht überschreiben oder verdecken. Bestehende Funktionen haben gegenüber Erweiterungsfunktionen Vorrang.

Weiterlesen …

Komponenten-Konstruktoren

Veröffentlicht am: 20. November 2010
Autor:

Für die Erstellung nicht-visueller Komponenten für Windows Forms-Anwendungen kann die Klasse System.ComponentModel.Component als Basis verwendet werden.

Weiterlesen …

Die symmetrische 7-Bit-Kodierung für Integer-Werte

Veröffentlicht am: 29. Mai 2010
Autor:

Die symmetrische 7-Bit-Kodierung für Integer-Werte ist eine Weiterentwicklung der variablen 7-Bit-Kodierung. Je nach zu kodierendem Wert werden 1 bis n Byte belegt. Das höchste Bit eines jeden Bytes gibt an, ob zur Abbildung eines Wertes ein weiteres Byte verwendet wurde.

Weiterlesen …

Die variable 7-Bit-Kodierung für Integer-Werte

Veröffentlicht am: 18. Mai 2010
Autor:

Die variable 7-Bit-Kodierung für Integer-Werte ähnelt der UTF-8-Kodierung. Je nach zu kodierendem Wert werden 1 bis n Byte belegt. Das höchste Bit eines jeden Bytes gibt an, ob zur Abbildung eines Wertes ein weiteres Byte verwendet wurde.

Weiterlesen …