IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Framework .NET Discussion :

Avantage de TaskParallelLibrary


Sujet :

Framework .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 194
    Par défaut Avantage de TaskParallelLibrary
    Bonjour,
    Quels sont les avantages apporter par Task Parallel Library ?

    Merci

    (edité pour être plus clair)

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Tu veux dire la Task Parallel Library ? Bah ça facilite les traitements asynchrones, ça simplifie l'enchainement des tâches, ça simplifie la gestion du thread sur lequel elles vont s'exécuter (par exemple pour exécuter une continuation sur le thread UI), ça offre un système pour gérer l'annulation des tâches, des trucs comme ça... Et puis il y aussi PLinq, pour faire des traitements parallèles avec Linq.

    En fait ça va surtout devenir intéressant avec C# 5 et le support de l'asynchronisme directement dans le langage (qui s'appuiera sur la TPL)

  3. #3
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 194
    Par défaut
    Une autre petite question

    On parle de programmation paralle parce qu'on a plusieurs core si j'ai bien compris?

    Il y a une différence entre faire du threading et du paralle (sur plusieurs core) ou c'est transparent?

    Et peut-on définir si le thread sera lancer sur le même core ou pas (si oui quel avantage d'utiliser un seul core)?

    finalement il y a plusieurs questions

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par BenoitM Voir le message
    On parle de programmation paralle parce qu'on a plusieurs core si j'ai bien compris?
    En général, mais pas forcément... Si le traitement fait surtout travailler le CPU, faire du parallélisme avec un seul core n'a pas beaucoup de sens, vu qu'en fait un seul thread pourra travailler en même temps. Mais si c'est des tâches avec beaucoup d'IO ça peut le faire même avec un seul coeur.

    Citation Envoyé par BenoitM Voir le message
    Il y a une différence entre faire du threading et du paralle (sur plusieurs core) ou c'est transparent?
    Bah il n'y a pas vraiment de différence entre parallèle et threading... le parallélisme est une application du threading, où on fait le même traitement sur plusieurs threads mais sur des données différentes. Le fait qu'il y ait plusieurs cores est transparent, tu ne le gères pas manuellement.

    Citation Envoyé par BenoitM Voir le message
    Et peut-on définir si le thread sera lancer sur le même core ou pas
    Je ne crois pas

  5. #5
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 194
    Par défaut
    Oki merci thomas

    Je vais lire aussi un peu la doc

  6. #6
    Membre Expert Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Par défaut
    Si, si, on peut forcer l'exécution d'un thread sur un coeur donné, via SetProcessorAffinityMask.
    Mais c'est déconseillé, excepté peut-être pour des applications monopolistiques (prévues pour être seules à fonctionner et monopoliser tout le PC, comme un jeu). Le scheduler de Windows gère très bien le partitionnage (répartition des threads sur les différents coeurs), surtout depuis Vista, donc autant le laisser faire. Car qui sait ce que l'utilisateur pourra être en train de faire en plus de l'application que l'on développe. Notons au passage que le scheduler peut déplacer un thread d'un processeur vers un autre.

    Enfin, quand on passe par la TPL (Task bidule), on ne s'occupe pas du nombre de threads la TPL s'en occupe. On définit simplement un certain nombre de tâches à exécuter et la TPL va automatiquement répartir tout ça sur un nombre de threads qui sera jugé optimal (pour grandement simplifier : on commence avec N threads, on teste avec N + 1 et on décide s'il faut augmenter ou tenter de réduire N).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Avantages du 2.6 par rapport a 2.4, Apache 2 plutot que 1.3.
    Par Aeternus dans le forum Administration système
    Réponses: 9
    Dernier message: 08/04/2004, 10h49
  2. avantages de MySQL ?
    Par meufeu dans le forum Administration
    Réponses: 4
    Dernier message: 06/04/2004, 13h29
  3. Oracle -> Postgres (avantages/ inconvénients)
    Par milka dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 12/03/2004, 11h58
  4. Avantages de OnSomething / override
    Par Bruno75 dans le forum Langage
    Réponses: 7
    Dernier message: 20/10/2003, 19h49
  5. Réponses: 4
    Dernier message: 22/05/2003, 11h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo