threads en arbol

08/01/2005 - 22:01 por axxegfx | Informe spam
Estoy realizando un programa que realiza el lanzamiento de 5 threads.
Estos threads a su vez lanzan 10 threads mas, necesito alguna forma de
que primero completen los 10 threads y así hacia el inicio.

¿ Alguna sugerencia ?

Preguntas similare

Leer las respuestas

#1 SqlRanger
09/01/2005 - 00:47 | Informe spam
¿Podrías ser más explícito? no entiendo qué threads tienen que esperar a
cuales.

Saludos:

Jesús López
MVP

"axxegfx" escribió en el mensaje
news:
Estoy realizando un programa que realiza el lanzamiento de 5 threads.
Estos threads a su vez lanzan 10 threads mas, necesito alguna forma de
que primero completen los 10 threads y así hacia el inicio.

¿ Alguna sugerencia ?
Respuesta Responder a este mensaje
#2 axxegfx
09/01/2005 - 11:25 | Informe spam
imagina un arbol de 1-5-10 , 1 es el programa,5 son los primeros threads y
cada uno de los 5 threads arranca a su vez 10 threads, necesito que finalicen
primero los 10*5 o sea los que ha generado en último lugar y así hacia atrás.

Gracias por ayudarme es la primera vez que programo threads y es
impresionante.

"SqlRanger" wrote:

¿Podrías ser más explícito? no entiendo qué threads tienen que esperar a
cuales.

Saludos:

Jesús López
MVP

"axxegfx" escribió en el mensaje
news:
> Estoy realizando un programa que realiza el lanzamiento de 5 threads.
> Estos threads a su vez lanzan 10 threads mas, necesito alguna forma de
> que primero completen los 10 threads y así hacia el inicio.
>
> ¿ Alguna sugerencia ?



Respuesta Responder a este mensaje
#3 SqlRanger
09/01/2005 - 18:32 | Informe spam
De verdad que quisiera ayudarte pero sigo sin entenderte,

Vamos a ver, supongamos que en vez de ser 1-5-10 sea 1-2-3 para simplificar.
Tendríamos los siguientes subprocesos:

t1
t11
t111
t112
t113
t12
t121
t122
t123

¿Qué subprocesos tienen que esperar a que terminen qué subprocesos para
comenzar a hacer qué cosas ?

o sea, no entiendo lo que quieres decir con que tienen que finalizar los
5*10 primero, ¿primero que qué? ¿para continuar con qué?

De todas maneras te puedo decir que para esperar a que termine un subproceso
t, puedes llamar a t.Join()

Saludos:

Jesús López


"axxegfx" escribió en el mensaje
news:
imagina un arbol de 1-5-10 , 1 es el programa,5 son los primeros threads y
cada uno de los 5 threads arranca a su vez 10 threads, necesito que


finalicen
primero los 10*5 o sea los que ha generado en último lugar y así hacia


atrás.

Gracias por ayudarme es la primera vez que programo threads y es
impresionante.

"SqlRanger" wrote:

> ¿Podrías ser más explícito? no entiendo qué threads tienen que esperar a
> cuales.
>
> Saludos:
>
> Jesús López
> MVP
>
> "axxegfx" escribió en el mensaje
> news:
> > Estoy realizando un programa que realiza el lanzamiento de 5 threads.
> > Estos threads a su vez lanzan 10 threads mas, necesito alguna forma de
> > que primero completen los 10 threads y así hacia el inicio.
> >
> > ¿ Alguna sugerencia ?
>
>
>
Respuesta Responder a este mensaje
#4 axxegfx
09/01/2005 - 18:49 | Informe spam
t111
t112
t113
simultaneamente
t121
t122
t123
una vez finalizados estos finalizar
t1
t2

¿ Se puede hacer con Join?

"SqlRanger" wrote:

De verdad que quisiera ayudarte pero sigo sin entenderte,

Vamos a ver, supongamos que en vez de ser 1-5-10 sea 1-2-3 para simplificar.
Tendríamos los siguientes subprocesos:

t1
t11
t111
t112
t113
t12
t121
t122
t123

¿Qué subprocesos tienen que esperar a que terminen qué subprocesos para
comenzar a hacer qué cosas ?

o sea, no entiendo lo que quieres decir con que tienen que finalizar los
5*10 primero, ¿primero que qué? ¿para continuar con qué?

De todas maneras te puedo decir que para esperar a que termine un subproceso
t, puedes llamar a t.Join()

Saludos:

Jesús López


"axxegfx" escribió en el mensaje
news:
> imagina un arbol de 1-5-10 , 1 es el programa,5 son los primeros threads y
> cada uno de los 5 threads arranca a su vez 10 threads, necesito que
finalicen
> primero los 10*5 o sea los que ha generado en último lugar y así hacia
atrás.
>
> Gracias por ayudarme es la primera vez que programo threads y es
> impresionante.
>
> "SqlRanger" wrote:
>
> > ¿Podrías ser más explícito? no entiendo qué threads tienen que esperar a
> > cuales.
> >
> > Saludos:
> >
> > Jesús López
> > MVP
> >
> > "axxegfx" escribió en el mensaje
> > news:
> > > Estoy realizando un programa que realiza el lanzamiento de 5 threads.
> > > Estos threads a su vez lanzan 10 threads mas, necesito alguna forma de
> > > que primero completen los 10 threads y así hacia el inicio.
> > >
> > > ¿ Alguna sugerencia ?
> >
> >
> >



Respuesta Responder a este mensaje
#5 SqlRanger
09/01/2005 - 20:58 | Informe spam
No estoy seguro de que sea esto lo que quieres, pero ahí va:

El Método DoWorkAndWaitForCompletion, crea dos hilos (t1 y t2), los arranca
y espera a que finalicen antes de volver.

El hilo t1 crea tres hilos y espera a que terminen antes de finalizar
El hilo t2 crea otros tres hilos y espera a que terminen antes de finalizar

De esta manera DoWorkAndWaitForCompletion no vuelve hasta que no se terminan
los 6 hilos.

Public Sub DoWorkAndWaitForCompletion()
Dim t1 As New Thread(AddressOf DoWork1)
Dim t2 As New Thread(AddressOf DoWork2)
t1.Start()
t2.Start()
t1.Join()
t2.Join()
End Sub

Public Sub DoWork1()
Dim s1 As New Thread(AddressOf DoSubWork1)
Dim s2 As New Thread(AddressOf DoSubWork1)
Dim s3 As New Thread(AddressOf DoSubWork1)
s1.Start()
s2.Start()
s3.Start()
s1.Join()
s2.Join()
s3.Join()
End Sub

Public Sub DoWork2()
Dim s1 As New Thread(AddressOf DoSubWork2)
Dim s2 As New Thread(AddressOf DoSubWork2)
Dim s3 As New Thread(AddressOf DoSubWork2)
s1.Start()
s2.Start()
s3.Start()
s1.Join()
s2.Join()
s3.Join()
End Sub

Public Sub DoSubWork1()
' esperar simulando hacer algo
Thread.CurrentThread.Sleep(500)
End Sub

Public Sub DoSubWork2()
' esperar simulando hacer algo
Thread.CurrentThread.Sleep(500)
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Me.DoWorkAndWaitForCompletion()
MsgBox("Trabajo completado")
' Nota: esto tarda un poquitín más de 500 ms
End Sub


Saludos:

Jesús López
MVP

"axxegfx" escribió en el mensaje
news:
t111
t112
t113
simultaneamente
t121
t122
t123
una vez finalizados estos finalizar
t1
t2

¿ Se puede hacer con Join?

"SqlRanger" wrote:

> De verdad que quisiera ayudarte pero sigo sin entenderte,
>
> Vamos a ver, supongamos que en vez de ser 1-5-10 sea 1-2-3 para


simplificar.
> Tendríamos los siguientes subprocesos:
>
> t1
> t11
> t111
> t112
> t113
> t12
> t121
> t122
> t123
>
> ¿Qué subprocesos tienen que esperar a que terminen qué subprocesos para
> comenzar a hacer qué cosas ?
>
> o sea, no entiendo lo que quieres decir con que tienen que finalizar los
> 5*10 primero, ¿primero que qué? ¿para continuar con qué?
>
> De todas maneras te puedo decir que para esperar a que termine un


subproceso
> t, puedes llamar a t.Join()
>
> Saludos:
>
> Jesús López
>
>
> "axxegfx" escribió en el mensaje
> news:
> > imagina un arbol de 1-5-10 , 1 es el programa,5 son los primeros


threads y
> > cada uno de los 5 threads arranca a su vez 10 threads, necesito que
> finalicen
> > primero los 10*5 o sea los que ha generado en último lugar y así hacia
> atrás.
> >
> > Gracias por ayudarme es la primera vez que programo threads y es
> > impresionante.
> >
> > "SqlRanger" wrote:
> >
> > > ¿Podrías ser más explícito? no entiendo qué threads tienen que


esperar a
> > > cuales.
> > >
> > > Saludos:
> > >
> > > Jesús López
> > > MVP
> > >
> > > "axxegfx" escribió en el mensaje
> > > news:
> > > > Estoy realizando un programa que realiza el lanzamiento de 5


threads.
> > > > Estos threads a su vez lanzan 10 threads mas, necesito alguna


forma de
> > > > que primero completen los 10 threads y así hacia el inicio.
> > > >
> > > > ¿ Alguna sugerencia ?
> > >
> > >
> > >
>
>
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida