Announcement

Collapse
No announcement yet.

Frage zur Queue und Queue<T> Klasse

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Frage zur Queue und Queue<T> Klasse

    Hallo zusammen,

    ich habe bisher in meinen Programmen immer die Queue-Klasse verwendet.
    Mit Hilfe der Methode Synchronized habe ich einen thread-safen Zugriff auf die Queue gehabt.

    Jetzt möchte ich gerne die Klasse Queue<T> verwenden, doch leider hat die Klasse keine Methode Synchronized.

    Gibt es eine Möglichkeit diese Klasse ebenfalls thread-safe zu machen und ggf einen thread-safen Wrapper zu der Klasse zu bekommen ?

    Gruß
    Jörg

  • #2
    Hallo Jörg Multhaup,

    ohne Dir jetzt die Möglichkeit zu nennen einen Sync-Wrapper anzubieten, ist es problemlos möglich eine lock-Anweisung um jeglichen Zugriff der Queue zu bauen.

    Ich hab mal mit dem Reflektor angesehen, wie die synchronisierte Wrapper Klasse aussieht, und sie ist eigentlich den Aufwand nicht wert, sie nachzuprogrammieren, dort wird eine interne Private Klasse gehalten, die die Funktionen quasi doppelt implementiert, damit die Synchronisation gekapselt ist.

    Wenn Du solch einen Aufwand treiben möchtest, dann schau Dir doch einfache mit dem Lutz Roeder's .NET Reflector in der mscorlib.dll die Klasse System.Collections.Queue (im Besonderen die private interne Klasse SynchronizedQueue) an.

    Viele Grüße
    _ntr_

    Comment

    Working...
    X