Une question qui relate des performances, d'une application.
Dans mes boucles, si celle-ci ne font pas partie d'un thread autre que le
thread principal de l'application,
je lui colle un Application.Doevents pour éviter de "geler" mon appli.
Mais il me semble avoir lu quelquepart que cette méthode était très
pénalisante en termes de performances.
Est-ce réellement le cas ?
Si oui, par quoi le remplacer ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
David Bouchard
Est-ce que tu as essayer de passé tes boucles par un autre thread ou il n'est vraiment nécessaire de passé par le principal parce que sinon, tu pourrais faire ceci
dim Thread as new threading.thread(addressof MaBoucle) thread.start
MaBoucle serait une procédure qui effectue ta boucle
David
"AlexC" <(@Anti-Spam)#(@Anti-Spam)#> a écrit dans le message de news:
Bonjour,
Une question qui relate des performances, d'une application. Dans mes boucles, si celle-ci ne font pas partie d'un thread autre que le thread principal de l'application, je lui colle un Application.Doevents pour éviter de "geler" mon appli. Mais il me semble avoir lu quelquepart que cette méthode était très pénalisante en termes de performances. Est-ce réellement le cas ? Si oui, par quoi le remplacer ?
Merci d'avance pour vos réponses.
AlexC
Est-ce que tu as essayer de passé tes boucles par un autre thread ou il
n'est vraiment nécessaire de passé par le principal parce que sinon, tu
pourrais faire ceci
dim Thread as new threading.thread(addressof MaBoucle)
thread.start
MaBoucle serait une procédure qui effectue ta boucle
David
"AlexC" <(@Anti-Spam)#alexandre.claverie@latelec.fr(@Anti-Spam)#> a écrit
dans le message de news: eltOmvA6EHA.3416@TK2MSFTNGP09.phx.gbl...
Bonjour,
Une question qui relate des performances, d'une application.
Dans mes boucles, si celle-ci ne font pas partie d'un thread autre que le
thread principal de l'application,
je lui colle un Application.Doevents pour éviter de "geler" mon appli.
Mais il me semble avoir lu quelquepart que cette méthode était très
pénalisante en termes de performances.
Est-ce réellement le cas ?
Si oui, par quoi le remplacer ?
Est-ce que tu as essayer de passé tes boucles par un autre thread ou il n'est vraiment nécessaire de passé par le principal parce que sinon, tu pourrais faire ceci
dim Thread as new threading.thread(addressof MaBoucle) thread.start
MaBoucle serait une procédure qui effectue ta boucle
David
"AlexC" <(@Anti-Spam)#(@Anti-Spam)#> a écrit dans le message de news:
Bonjour,
Une question qui relate des performances, d'une application. Dans mes boucles, si celle-ci ne font pas partie d'un thread autre que le thread principal de l'application, je lui colle un Application.Doevents pour éviter de "geler" mon appli. Mais il me semble avoir lu quelquepart que cette méthode était très pénalisante en termes de performances. Est-ce réellement le cas ? Si oui, par quoi le remplacer ?
Merci d'avance pour vos réponses.
AlexC
AlexC
Certes mais faire de cette facon ne permet pas de passer des parametres à mon thread. Si? parce que j'ai déjà essayé une telle méthode dans un de mes programmes et le thread ne voulais pas de parametres. De plus l'une de mes "boucles" possède un rafraichissement d'un progressbar et il me semble que sans le Doevents meme sur un thread séparé, la fenetre qui contient de progresse bar est gelée.
"David Bouchard" a écrit dans le message de news:
Est-ce que tu as essayer de passé tes boucles par un autre thread ou il n'est vraiment nécessaire de passé par le principal parce que sinon, tu pourrais faire ceci
dim Thread as new threading.thread(addressof MaBoucle) thread.start
MaBoucle serait une procédure qui effectue ta boucle
David
"AlexC" <(@Anti-Spam)#(@Anti-Spam)#> a écrit dans le message de news:
Bonjour,
Une question qui relate des performances, d'une application. Dans mes boucles, si celle-ci ne font pas partie d'un thread autre que le thread principal de l'application, je lui colle un Application.Doevents pour éviter de "geler" mon appli. Mais il me semble avoir lu quelquepart que cette méthode était très pénalisante en termes de performances. Est-ce réellement le cas ? Si oui, par quoi le remplacer ?
Merci d'avance pour vos réponses.
AlexC
Certes mais faire de cette facon ne permet pas de passer des parametres à
mon thread.
Si? parce que j'ai déjà essayé une telle méthode dans un de mes programmes
et le thread ne voulais pas
de parametres.
De plus l'une de mes "boucles" possède un rafraichissement d'un progressbar
et il me semble que sans le Doevents
meme sur un thread séparé, la fenetre qui contient de progresse bar est
gelée.
"David Bouchard" <boutchmusic@hotmail.com> a écrit dans le message de news:
eGFnPND6EHA.208@TK2MSFTNGP12.phx.gbl...
Est-ce que tu as essayer de passé tes boucles par un autre thread ou il
n'est vraiment nécessaire de passé par le principal parce que sinon, tu
pourrais faire ceci
dim Thread as new threading.thread(addressof MaBoucle)
thread.start
MaBoucle serait une procédure qui effectue ta boucle
David
"AlexC" <(@Anti-Spam)#alexandre.claverie@latelec.fr(@Anti-Spam)#> a écrit
dans le message de news: eltOmvA6EHA.3416@TK2MSFTNGP09.phx.gbl...
Bonjour,
Une question qui relate des performances, d'une application.
Dans mes boucles, si celle-ci ne font pas partie d'un thread autre que le
thread principal de l'application,
je lui colle un Application.Doevents pour éviter de "geler" mon appli.
Mais il me semble avoir lu quelquepart que cette méthode était très
pénalisante en termes de performances.
Est-ce réellement le cas ?
Si oui, par quoi le remplacer ?
Certes mais faire de cette facon ne permet pas de passer des parametres à mon thread. Si? parce que j'ai déjà essayé une telle méthode dans un de mes programmes et le thread ne voulais pas de parametres. De plus l'une de mes "boucles" possède un rafraichissement d'un progressbar et il me semble que sans le Doevents meme sur un thread séparé, la fenetre qui contient de progresse bar est gelée.
"David Bouchard" a écrit dans le message de news:
Est-ce que tu as essayer de passé tes boucles par un autre thread ou il n'est vraiment nécessaire de passé par le principal parce que sinon, tu pourrais faire ceci
dim Thread as new threading.thread(addressof MaBoucle) thread.start
MaBoucle serait une procédure qui effectue ta boucle
David
"AlexC" <(@Anti-Spam)#(@Anti-Spam)#> a écrit dans le message de news:
Bonjour,
Une question qui relate des performances, d'une application. Dans mes boucles, si celle-ci ne font pas partie d'un thread autre que le thread principal de l'application, je lui colle un Application.Doevents pour éviter de "geler" mon appli. Mais il me semble avoir lu quelquepart que cette méthode était très pénalisante en termes de performances. Est-ce réellement le cas ? Si oui, par quoi le remplacer ?
Merci d'avance pour vos réponses.
AlexC
David Bouchard
En faite, tu as raison, on ne peut pas passer de paramètre à même la fonction appeler par le nouveau thread mais voici de qu'elle façon tu peux passé ta valeur
Private thread As Threading.Thread
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
thread = New Threading.Thread(AddressOf OtherThread)
thread.Start()
End Sub
Public Sub OtherThread()
Compter(3)
End Sub
Public Sub Compter(ByVal Nombre As Integer)
Dim Valeur As Integer
Do
Valeur = Valeur + Nombre
Me.Text = Valeur
Loop
End Sub
Protected Overrides Sub OnClosing(ByVal e As System.ComponentModel.CancelEventArgs)
thread.Abort()
thread.Join()
End Sub
David
"AlexC" <(@Anti-Spam)#(@Anti-Spam)#> a écrit dans le message de news:
Certes mais faire de cette facon ne permet pas de passer des parametres à mon thread. Si? parce que j'ai déjà essayé une telle méthode dans un de mes programmes et le thread ne voulais pas de parametres. De plus l'une de mes "boucles" possède un rafraichissement d'un progressbar et il me semble que sans le Doevents meme sur un thread séparé, la fenetre qui contient de progresse bar est gelée.
"David Bouchard" a écrit dans le message de news:
Est-ce que tu as essayer de passé tes boucles par un autre thread ou il n'est vraiment nécessaire de passé par le principal parce que sinon, tu pourrais faire ceci
dim Thread as new threading.thread(addressof MaBoucle) thread.start
MaBoucle serait une procédure qui effectue ta boucle
David
"AlexC" <(@Anti-Spam)#(@Anti-Spam)#> a écrit dans le message de news:
Bonjour,
Une question qui relate des performances, d'une application. Dans mes boucles, si celle-ci ne font pas partie d'un thread autre que le thread principal de l'application, je lui colle un Application.Doevents pour éviter de "geler" mon appli. Mais il me semble avoir lu quelquepart que cette méthode était très pénalisante en termes de performances. Est-ce réellement le cas ? Si oui, par quoi le remplacer ?
Merci d'avance pour vos réponses.
AlexC
En faite, tu as raison, on ne peut pas passer de paramètre à même la
fonction appeler par le nouveau thread mais voici de qu'elle façon tu peux
passé ta valeur
Private thread As Threading.Thread
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
thread = New Threading.Thread(AddressOf OtherThread)
thread.Start()
End Sub
Public Sub OtherThread()
Compter(3)
End Sub
Public Sub Compter(ByVal Nombre As Integer)
Dim Valeur As Integer
Do
Valeur = Valeur + Nombre
Me.Text = Valeur
Loop
End Sub
Protected Overrides Sub OnClosing(ByVal e As
System.ComponentModel.CancelEventArgs)
thread.Abort()
thread.Join()
End Sub
David
"AlexC" <(@Anti-Spam)#alexandre.claverie@latelec.fr(@Anti-Spam)#> a écrit
dans le message de news: OsZNCVM6EHA.2512@TK2MSFTNGP09.phx.gbl...
Certes mais faire de cette facon ne permet pas de passer des parametres à
mon thread.
Si? parce que j'ai déjà essayé une telle méthode dans un de mes programmes
et le thread ne voulais pas
de parametres.
De plus l'une de mes "boucles" possède un rafraichissement d'un
progressbar et il me semble que sans le Doevents
meme sur un thread séparé, la fenetre qui contient de progresse bar est
gelée.
"David Bouchard" <boutchmusic@hotmail.com> a écrit dans le message de
news: eGFnPND6EHA.208@TK2MSFTNGP12.phx.gbl...
Est-ce que tu as essayer de passé tes boucles par un autre thread ou il
n'est vraiment nécessaire de passé par le principal parce que sinon, tu
pourrais faire ceci
dim Thread as new threading.thread(addressof MaBoucle)
thread.start
MaBoucle serait une procédure qui effectue ta boucle
David
"AlexC" <(@Anti-Spam)#alexandre.claverie@latelec.fr(@Anti-Spam)#> a écrit
dans le message de news: eltOmvA6EHA.3416@TK2MSFTNGP09.phx.gbl...
Bonjour,
Une question qui relate des performances, d'une application.
Dans mes boucles, si celle-ci ne font pas partie d'un thread autre que
le thread principal de l'application,
je lui colle un Application.Doevents pour éviter de "geler" mon appli.
Mais il me semble avoir lu quelquepart que cette méthode était très
pénalisante en termes de performances.
Est-ce réellement le cas ?
Si oui, par quoi le remplacer ?
En faite, tu as raison, on ne peut pas passer de paramètre à même la fonction appeler par le nouveau thread mais voici de qu'elle façon tu peux passé ta valeur
Private thread As Threading.Thread
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
thread = New Threading.Thread(AddressOf OtherThread)
thread.Start()
End Sub
Public Sub OtherThread()
Compter(3)
End Sub
Public Sub Compter(ByVal Nombre As Integer)
Dim Valeur As Integer
Do
Valeur = Valeur + Nombre
Me.Text = Valeur
Loop
End Sub
Protected Overrides Sub OnClosing(ByVal e As System.ComponentModel.CancelEventArgs)
thread.Abort()
thread.Join()
End Sub
David
"AlexC" <(@Anti-Spam)#(@Anti-Spam)#> a écrit dans le message de news:
Certes mais faire de cette facon ne permet pas de passer des parametres à mon thread. Si? parce que j'ai déjà essayé une telle méthode dans un de mes programmes et le thread ne voulais pas de parametres. De plus l'une de mes "boucles" possède un rafraichissement d'un progressbar et il me semble que sans le Doevents meme sur un thread séparé, la fenetre qui contient de progresse bar est gelée.
"David Bouchard" a écrit dans le message de news:
Est-ce que tu as essayer de passé tes boucles par un autre thread ou il n'est vraiment nécessaire de passé par le principal parce que sinon, tu pourrais faire ceci
dim Thread as new threading.thread(addressof MaBoucle) thread.start
MaBoucle serait une procédure qui effectue ta boucle
David
"AlexC" <(@Anti-Spam)#(@Anti-Spam)#> a écrit dans le message de news:
Bonjour,
Une question qui relate des performances, d'une application. Dans mes boucles, si celle-ci ne font pas partie d'un thread autre que le thread principal de l'application, je lui colle un Application.Doevents pour éviter de "geler" mon appli. Mais il me semble avoir lu quelquepart que cette méthode était très pénalisante en termes de performances. Est-ce réellement le cas ? Si oui, par quoi le remplacer ?