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

Visual C++ Discussion :

notion de thread


Sujet :

Visual C++

  1. #1
    Membre tr�s actif
    Homme Profil pro
    Electronicien
    Inscrit en
    Ao�t 2008
    Messages
    377
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Electronicien
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Ao�t 2008
    Messages : 377
    Par d�faut notion de thread
    Bonjours,

    ce que j'ai compris est que cette notion permet de faire travailler plusieurs t�ches en parall�le.

    Donc comme il m'a �t� d�crit, deux fonctions dans deux thread diff�rent fonctionne indiff�remment en parall�le, on peu faire appel a une fonction dans un thread diff�rent ou r�ciproquement si je me trompe pas, l'�vocation de invoke().

    Afin de comprendre au mieux cette notion de thread pour mieux intervenir dessus:

    combien de thread peut-on avoir dans un programme, comment les identifi�s et comment fait-on r�f�rence � un thread particuli� en faisant un invoke().

    Auriez vous des liens ou ref�rence � me conseill� pour mieux comprendre cette notion.

    Merci

  2. #2
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Invoke() ne marche que pour Windows Forms (Framework .Net), et plus pr�cis�ment pour les threads qui affichent des Windows Forms.

    La classe System::Windows::Forms::Control, la classe m�re de tout ce qui est affichable en Windows Forms, poss�de cette m�thode Invoke() qui appelle la fonction re�ue en param�tre sur le thread propri�taire du contr�le (c'est-�-dire, le thread qui l'a cr��).

    Pour reproduire ce genre de comportement ailleurs, il faut utiliser des objets de synchronisation, comme (� partir du Framework 4.0) BlockingCollection dans le sens des appels et des �v�nements dans le sens des retours.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre tr�s actif
    Homme Profil pro
    Electronicien
    Inscrit en
    Ao�t 2008
    Messages
    377
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Electronicien
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Ao�t 2008
    Messages : 377
    Par d�faut
    Merci pour tes explications M�dinoc, faut que je continu � me pencher sur cette environnement pour en saisir la subtilit�.

    Aurais-tu des r�f�rences � me conseiller pour quelqu'un comme moi qui poss�de que des notions de C microproce et pascal(delphi) en tant qu'�lectronicien.

  4. #4
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 503
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 503

  5. #5
    Membre tr�s actif
    Homme Profil pro
    Electronicien
    Inscrit en
    Ao�t 2008
    Messages
    377
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Electronicien
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Ao�t 2008
    Messages : 377
    Par d�faut
    Ca je me doute bien que google � toutes les r�ponses que ce pose l'humanit�, seulement y a tous et n'importe quoi et ma question �tait orient� par rapport � une exp�rience personnel de quelqu'un d'exp�riment�.

    J'ai �videmment fais mes recherches sur le net.

    Merci pour le lien

  6. #6
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 503
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 503
    Par d�faut
    exp�rience personnel de quelqu'un d'exp�riment�
    Me voila habill� pour l'hiver.

    J'ai donn� une r�f�rence g�n�raliste car il faut commencer par cela.

    Vous ne comprendrez le cloisonnement des appels li�s au "thread appartements" et � l'affinit� de thread des contr�les Windows que si vous avez une id�e claire de ce qu'est un thread en g�n�ral.

    Pour faire concis, un processus n'est qu'un espace virtuel d'adressage.
    Quand vous lancer un programme vous cr�ez ce bac � sable qu'est un processus (avec le code machine du fichier programme dans un coin de l'espace d'adressage) et un thread, qui l'utilise, avec un IP (Instruction pointer), stack pointeur, .... (tout ce qui est sp�cifique � un thread, donc pas l'espace d'adressage ou des handler de fichier qui font partie du bac � sable eux).

    Le thread est "ce qui tourne", mais rien ne vous emp�che de cr�er un autre dans le m�me espace d'adressage (m�me processus), mais avec un autre IP.
    C'est l� que des m�canismes sont utilis�s pour emp�cher que chaque thread ne foute le Bronx dans les donn�es utilis�es par un de ces cong�n�res.

    Pour �viter toute embrouille, les contr�les Windows n'acceptent, en g�n�rale, les appels de fonction que le thread l'ayant cr�� (le controle).

  7. #7
    Membre tr�s actif
    Homme Profil pro
    Electronicien
    Inscrit en
    Ao�t 2008
    Messages
    377
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Electronicien
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Ao�t 2008
    Messages : 377
    Par d�faut
    Merci pour tes explication bacelar, je croix devoir regarder �a dans les bouquins que je vais aller me procurer tr�s vite.

Discussions similaires

  1. Notion de thread dans SqlServer existe ?
    Par berceker united dans le forum D�veloppement
    R�ponses: 11
    Dernier message: 07/11/2010, 21h33
  2. [G�n�ralit�s] Notions de base : les threads
    Par Raptor92 dans le forum WinDev
    R�ponses: 2
    Dernier message: 22/07/2009, 15h24
  3. Tri multi-thread�
    Par Tifauv' dans le forum C
    R�ponses: 8
    Dernier message: 28/06/2007, 09h00
  4. R�ponses: 5
    Dernier message: 12/06/2002, 15h12
  5. [Kylix] Pb de Thread !!
    Par Anonymous dans le forum EDI
    R�ponses: 1
    Dernier message: 25/04/2002, 13h53

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