Threads con funciones o Procedimientos con parámetros

13/04/2005 - 15:51 por Alamo | Informe spam
Buenas a todos.

Por casualidad alguien ha podido lanzar un thread (es decir un proceso
hebra) hacia una función o procedimiento que contenga parámetros?

Ejemplo:



Public Sub New(byval n as integer)

dim hebra as thread

hebra = new Thread(AddressOf Pepe("Hola"))
'con está línea en la que inicializo
'el proceso indicando a que procedimiento
'se ha de lanzar, el compilador me dice que no puedo

hebra.start()

end Public

Public sub Pepe(byval juan as string)
...
...
end sub

En definitiva, que si el procedimiento o función tiene parámetros, con el
AddressOf no puedo pasarle parámetros.

Alguien sabe como hacerlo?

Gracias,

Álamo.

Preguntas similare

Leer las respuestas

#1 henry04
09/04/2011 - 00:26 | Informe spam
Alamo escribió el 13/04/2005 15:51 :
Buenas a todos.

Por casualidad alguien ha podido lanzar un thread (es decir un proceso
hebra) hacia una función o procedimiento que contenga parámetros?

Ejemplo:



Public Sub New(byval n as integer)

dim hebra as thread

hebra = new Thread(AddressOf Pepe("Hola"))
'con está línea en la que inicializo
'el proceso indicando a que procedimiento
'se ha de lanzar, el compilador me dice que no puedo

hebra.start()

end Public

Public sub Pepe(byval juan as string)
...
...
end sub

En definitiva, que si el procedimiento o función tiene
parámetros, con el
AddressOf no puedo pasarle parámetros.

Alguien sabe como hacerlo?

Gracias,

Álamo.


Si debes primero declara dentro de la funcion donde instancia el thread, una variable arraylist, en esta variable almacenas todos los paramatro que quieres enviar y despues cuando instancias el hilo agregas ParameterizedThreadStart para pasar el parametro, te dejo un ejemplo:

Public Sub IniciarHilo(ByVal fechavIII As Date, ByVal vesselIII As String)
Dim inicioPF As Thread
Dim todas02 As New ArrayList

todas02.Add(vesselIII)
todas02.Add(fechavIII)

inicioPF = New Thread(New ParameterizedThreadStart(AddressOf tu_sub que ejecuta el proceso))
inicioPF.TrySetApartmentState(ApartmentState.STA)
inicioPF.Start(todas02)

End Sub
Acuerdate que el sub que recibe el arraylist debe ser object. espero que te sirva.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida