2011-06-14 6 views
1

J'ai besoin de traiter 60000 fichiers en une seule fois en utilisant une méthode. Comment utiliser le threading pour augmenter les performances et réduire le temps de traitement. Si j'utilise plusieurs threads qui accèdent à la même méthode, va-t-il lancer une erreur? Pouvez-vous me donner un exemple de la façon de le traiter?C# Multithreading accédant à une seule méthode

+0

s'il vous plaît donner plus d'informations sur les fichiers. Que faites-vous avec eux et où sont-ils? Si vos opérations d'E/S utilisent un seul lecteur matériel, il ne prend pas en charge plusieurs E/S simultanées – oleksii

+0

Ces fichiers se trouvent sur le serveur sur lequel l'application sera exécutée. – Sarvan

+0

jetez un oeil à [ce livre] (http://www.albahari.com/threading/). Cela vous aidera à commencer à filer. – oleksii

Répondre

2

Où sont les fichiers 60000? Tout en un dossier sur un disque dur local/SSD ou répartis sur plusieurs disques/serveurs LAN? Si tout est local, il n'y a peut-être pas grand chose à gagner par un traitement parallèle (il y en aura, mais le gain vaut-il la complication?). Si les fichiers couvrent des disques/serveurs, il y a potentiellement une énorme augmentation de performance disponible.

Mfg, Martin

+0

Tous les fichiers se trouvent sur le même serveur que l'application. – Sarvan