Frage

Ich bin liebäugelt mit der Idee, ein generische Producer / Consumer Paar + Verarbeitungswarteschlange in C # für Spaß zu implementieren. Die Idee ist, Sie können nur Objekte erstellen, die entsprechende IProducer und IConsumer Schnittstellen (Standardimplementierungen geliefert) implementieren, die hauptsächlich aus Delegierten bestehen, geben sie nicht an einer QueueProcessor Klasseninstanz, es sagen, wie viele Verbraucher die Sie wollen, und gehen.

Aber ich sage mir: „Selbst, sicher zuvor getan wurde.“

So weiß jemand, der ein gut , generic Umsetzung des Producer / Consumer-Muster in C # (VB.Net in Ordnung ist, auch)? Die grundlegenden Anforderungen Ich suche nach:

  • Verwendung Generika für die produzierte und konsumierten Typen (Eingangs-, eine Warteschlange eingereiht Aufgabe und Ausgabeart oder eine beliebige Kombination davon)
  • Lassen Sie festlegen, wie viele Verbraucher wird die Warteschlange arbeiten
  • Lassen Sie oder Kette mehrere Warteschlangen in eine Rohrleitung (tricky mit mehreren Verbrauchern, ich weiß) verknüpfen
  • Lassen Sie Ihre eigenen Hersteller und Verbraucher
  • implementieren
  • Lassen Sie jede IEnumerable in einen Produzenten drehen (in Ordnung, wenn ich, dass ich implementieren, so lange es möglich ist)
  • Delegieren Basis (Sie können Lambda-Syntax für die grundlegenden Verbraucher oder Produzenten Arbeit ein einzelnes Element verarbeiten)

Oder wenn es keine gibt, welche Tücken haben es verhindert, und Sie haben keine Gedanken darüber, wie man es umsetzen?

War es hilfreich?
scroll top