2010-03-03 7 views
0

Je voudrais programmer un tampon limité dans le temps. Cela signifie que je veux être capable de remplir continuellement une liste de chaînes (par exemple) et toutes les 2 secondes cette liste est ajoutée à une autre liste (ou envoyée au réseau) si cette liste a 1 ou plusieurs éléments, mais une autre liste de chaîne prend sa place pour qu'il y ait toujours une liste de chaînes à remplir.C# Tampon Convoyor-Belt-like - Tampon à contrainte de temps

Comment puis-je faire cela en C#?

+0

Vous souhaitez créer un tampon de thread sécurisé, qui est poussé à une extrémité et sauté à l'autre (alias une file d'attente). En outre, lorsqu'une certaine condition est atteinte (par exemple, le tampon est plein/un certain temps s'est écoulé), vous voulez utiliser une seconde instance du tampon pour pouvoir faire quelque chose avec les éléments dans la première instance. J'essaie juste de comprendre ce que vous demandez! –

+0

Vous l'avez bien compris. C'est ça. – Guillaume

Répondre

1

Vous pouvez le faire en C# en utilisant une combinaison de

  • la classe collection List<T> générique,
  • un Timer pour exécuter une méthode à intervalles réguliers dans un thread de travail, et
  • un lock statement synchroniser l'accès à une ressource partagée par les threads.
+0

Merci. J'ai essayé mais ça n'a pas marché. L'idée était d'exécuter mon fil principal en dehors du fil de la minuterie. – Guillaume