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

VB.NET Discussion :

comment utiliser Les threads


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Mai 2007
    Messages : 94
    Par défaut comment utiliser Les threads
    Salut à tous le monde,
    Dans mon projet j'ai besoin d'afficher des videos simultanément,et j'ai une seul Methode avec un parametre d'entrer qui fait la lecture de ces vidéos là.
    S'il veur plait comment je doit faire pour lire toutes les vidéos en meme temps en utilisant les Threads.
    Merci de votre aide.

  2. #2
    Membre émérite
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276

  3. #3
    Membre Expert
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Par défaut
    Très simple en .NET 2005, il existe le controle BackGroundWorder (en gros travailleur d'arrière plan) qui s'execute dans un thread à part !

    Donc si tu as 3 videos tu utilises 3 BDW
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Mai 2007
    Messages : 94
    Par défaut
    Comment utiliser plusieurs back ground BackgroundWorker ?

  5. #5
    Membre Expert
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Par défaut
    tu va dans ta boite à outils et puis tu selectionnes 3 BGW. En suite tu va dans le code et tu selectionnes les evenements correspondant à tes BGW : "Do_Works" "Progress" "Finish" en gros

    Voila
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Mai 2007
    Messages : 94
    Par défaut
    Mais je veut les generer automatiquement car il se peut qu'il y aura plusieurs Vidéos à la fois.
    Merci.

  7. #7
    Membre Expert
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Par défaut
    Citation Envoyé par alaa_85
    Salut à tous le monde,
    Dans mon projet j'ai besoin d'afficher des videos simultanément,et j'ai une seul Methode avec un parametre d'entrer qui fait la lecture de ces vidéos là.
    S'il veur plait comment je doit faire pour lire toutes les vidéos en meme temps en utilisant les Threads.
    Merci de votre aide.
    Je quote ton premier post...

    Bah le BGW sauf preuve du contraire permet de gérer l'affichage de chaque video dans un thread différent sans que l'application ne se fige et plante !

    Donc j'ai bien répondu à ta question non ?
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Mai 2007
    Messages : 94
    Par défaut
    Bah le BGW sauf preuve du contraire permet de gérer l'affichage de chaque video dans un thread différent sans que l'application ne se fige et plante !
    oui je suis tout à fait daccord avec toi Aspic mais le probleme ce comment l'integer dans le code ci-dessus car il y a 2 boucles imbriquer.
    tu vois

  9. #9
    Membre Expert
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Par défaut
    Où tu vois deux boucles imbriquées ?
    De plus quelle procédure veux tu mettres dans un thread apart ?
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Mai 2007
    Messages : 94
    Par défaut
    voila la methode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     Public Sub trierBlocsWithContent(ByVal obj As Object)
            Dim vTimeline As New TimeLine
            vTimeline.TrieBloc()
            vTimeline = CType(obj, TimeLine)
     
            If Me.InvokeRequired Then
                Me.Invoke(New MethodInvoker(AddressOf trierBlocsWithContent), vTimeline)
            Else
                Dim uc As UserControl1
                uc = Me.Controls("uc" & vTimeline.ZoneID.ToString())
                For i As Integer = 0 To vTimeline.Array_Bloc.Count - 1
                    Dim c_bloc As Bloc = CType(vTimeline.Array_Bloc.Item(i), Bloc)
     
                    If d_bloc.AddSeconds(CType(vTimeline.Array_Bloc.Item(i), Bloc).BlocDuration) >= Now Then
                        CType(vTimeline.Array_Bloc(i), Bloc).TrieContent()
                        For Each item As Content In CType(vTimeline.Array_Bloc(i), Bloc).Array_Content
                            uc.playContent(BinPath & item.MediaURL)
                            uc.SetBounds(uc.Location.X, uc.Location.Y, uc.Width, uc.Height, BoundsSpecified.All)
                            Thread.Sleep(1000) 'pause pendant la durée du media
                            d_content = d_content.AddSeconds(item.contentDuration)
                        Next
                    End If
                    d_bloc = d_bloc.AddSeconds(CType(vTimeline.Array_Bloc.Item(i), Bloc).BlocDuration)
                Next
            End If
        End Sub
    NB:
    item.MediaURL:le chemin du video.
    la premier boucle c'est pour chaque zone et la 2 iemes c'est pour les video de ce zone là .
    j'espére que tu m'as compris.
    Merci

  11. #11
    Membre Expert
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim BDW As New System.ComponentModel.BackgroundWorker
            AddHandler bgw.DoWork, AddressOf Traitement
            AddHandler bgw.ProgressChanged, AddressOf Progression
            AddHandler bgw.RunWorkerCompleted, AddressOf Termine
        End Sub
        Private Sub Traitement(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs)
            'traitement à executer en arrière plan !
            trierBlocsWithContent(Args) 'appel de ta méthode
        End Sub
        Private Sub Progression(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs)
            'se declanche pendant la prgression du traitement
        End Sub
        Private Sub Termine(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs)
            'ici procedure quand le travail est terminé
    Msgbox("Traitement terminé")
        End Sub
    Voila un seule BGW suffit, toute ta mèthode et les deux boucles vont etre executées dans un thread apart !
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

Discussions similaires

  1. Comment utiliser les thread dans ce cas ?
    Par ketchupi dans le forum Threads & Processus
    Réponses: 5
    Dernier message: 03/06/2011, 00h56
  2. [ListSelectionListener] comment utiliser les threads?
    Par zaboug dans le forum Composants
    Réponses: 7
    Dernier message: 21/05/2010, 14h23
  3. comment utiliser les threads
    Par oumay dans le forum Général Java
    Réponses: 1
    Dernier message: 15/02/2010, 00h35
  4. Comment utiliser les Threads en VC++?
    Par mambo dans le forum MFC
    Réponses: 2
    Dernier message: 16/06/2006, 14h04
  5. [C# 2.0][Form]Comment utiliser les Delegates & Threading
    Par Tips dans le forum Windows Forms
    Réponses: 8
    Dernier message: 08/01/2006, 14h22

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