Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - elmaro

#22
Bueno espero tener tu solución.
Me puse a revisar el ThreadStart pero vi que no le podía pasar parámetros y vi el post de seba y.... ParameterizedThreadStart cha channn  ;-)

Código (vbnet) [Seleccionar]
Private Sub Iniciar()   
        Dim Var As Integer

        For i As Integer = 1 To 10
            Procesar(Var)
            ListBox1.Items.Add("Item " & Var)
        Next
End Sub

Private Sub Procesar(ByRef dato As Integer)
        Dim P As Thread
        Dim Clase As New C01

        P = New Thread(New ParameterizedThreadStart(AddressOf Clase.AAA))

        P.Start(dato)
        P.Join()
        dato = Clase.Dato

End Sub


Y acá la clase a la que le pasas el valor:

Código (vbnet) [Seleccionar]
Public Class C01

    Private _Dato As Integer

    Public Property Dato() As Integer
        Get
            Return _Dato
        End Get
        Set(ByVal value As Integer)
            _Dato = value
        End Set
    End Property

    Public Sub AAA(ByVal p As Integer)
        p += 1
        Dato = p
    End Sub

End Class


Quedaría adaptarlo, pero creo que esta bien.

Saludos!
#23
Podes poner código mas completo y así puedo entender mas de que se trata. Estuve buscando y no encontré absolutamente nada. Lo mas parecido que encontré es usar variables globales(que creo que es lo que hay que hacer)

Saludos
#25
Cita de: MANULOMM en 19 Febrero 2010, 20:28 PM
Que va ha pasar cuando Dos o mas hilos intenten acceder a la misma porcion de memoria (la misma referencia)?

Simplemente se pelearan por el recurso y la aplicacion morira...

Si fuese una variable global o estatica pasaria lo mismo.

busca sobre los interbloqueos en hilos.

Atentamente,

Juan Manuel Lombana
Medellín - Colombia

Sobre eso, aca tenes una info y te va a ahorrar bastantes dolores de cabeza

http://msdn.microsoft.com/es-es/library/3a86s51t%28VS.80%29.aspx

(Aunque todavia falta saber como pasar valores por referencia jeje)
#26
Tienes razón. Pero como vi el código ese que tenia mal la sintaxis pensé que así te serviría.
Voy a ver si se me ocurre algo.

Saludos
#27
Cita de: MANULOMM en 18 Febrero 2010, 22:12 PM
Cita de: elmaro en 18 Febrero 2010, 18:03 PM
Podes usar los ArrayList
Código (vbnet) [Seleccionar]

Dim MiArray as New ArrayList

MiArray.Add(UnObjeto) 'UnObjeto puede ser de cualquier tipo


Y para recuperarlo:

Código (vbnet) [Seleccionar]
MiArray(Indice)

Saludos

OJO con esto.
Los ArraysList vienen del framework 1.1, para esto mejor utiliza un List<T> donde T es el tipo de los elementos del array.

Atentamente,

Juan Manuel Lombana
Medellín - Colombia

Ah si? Tiene mejor rendimiento? Nunca se me había dado por usar List<T>. Voy a empezar a usarlo en lugar del ArrayList

Saludos

Edit: Estoy viendo que viene con muchas mas cosillas útiles hehe
#28
Cita de: Skeletron en 18 Febrero 2010, 22:22 PM
dim p as new thread(address of Descarga)
p.start(LINK, CODIGO)


public sub Descarga(byref link as String, byref codigo as String)

end sub


Todo eso, da error en el .START... porque no se puede enviar una varible por referencia...
Sabes como se puede hacer para enviar variables por referencias a hilos?

Claro, si quieres pasar parametros asi solo puedes pasar uno solo. Es como en el BackGroundWorker:

Código (vbnet) [Seleccionar]
BackgroundWorker1.RunWorkerAsync(Parametro)

Como es del tipo Object puedes mandar un Array con los datos que necesites

Código (vbnet) [Seleccionar]
Dim P As New Threading.Thread(AddressOf Descarga)
P.Start("")


Código (vbnet) [Seleccionar]
Sub Descarga(ByVal p As Object)

End Sub


#29
Ponte el código que tienes y lo miro
#30
.NET (C#, VB.NET, ASP) / Re: Array de objetos
18 Febrero 2010, 18:03 PM
Podes usar los ArrayList
Código (vbnet) [Seleccionar]

Dim MiArray as New ArrayList

MiArray.Add(UnObjeto) 'UnObjeto puede ser de cualquier tipo


Y para recuperarlo:

Código (vbnet) [Seleccionar]
MiArray(Indice)

Saludos