2010-08-23 6 views
0

Est-ce que .Net a un équivalent pour PosthreadMessage?Equivalent de PosthreadMessage

Nous utilisons actuellement une liste (pour conserver les éléments), un verrou (protégeant la liste) et un événement (pour informer le thread consommateur qu'un élément a été ajouté à la liste) pour la même fonctionnalité.

Existe-t-il un moyen optimisé pour implémenter cela?

Répondre

1

Vous pouvez utiliser certaines collections simultanées dans .NET 4.0 (System.Collections.Concurrent) au lieu de lancer votre propre structure de données thread-safe? Je ne suis pas sûr de ce que sont vos besoins, et je ne suis pas sûr de savoir comment votre souhait d'optimiser votre conteneur a quelque chose à voir avec le rendre équivalent à PostThreadMessage. Si vous le souhaitez, vous pouvez toujours utiliser Managed C++ pour exposer PostThreadMessage à votre application .NET. Vous pouvez également utiliser PInvoke pour l'appeler depuis votre application.

0

Il ne semble pas y avoir beaucoup de place pour l'optimisation ici, à moins que vous ne vouliez le concevoir comme monothread pour éviter le changement de contexte. Cela peut de toute façon être préféré, from program logic point of view.