no uses backgroundworker con delegados ... usa threads
Si eso está muy bien pero... todos sabemos que un "System.Threading.Thread" sólamente se puede iniciar una vez,
He leido que para poder ejecutar el mismo thread infinitas veces solo hay que resetear la variable de la instancia del thread, osea crear una nueva instancia de "System.Threading.Thread" que llame al mismo thread
Por ejemplo:
Sub MITHREAD()
msgbox("hello world")
End Sub
Dim T_first_instance As System.Threading.Thread = New Threading.Thread(AddressOf MITHREAD)
T_first_instance.Start()
' esperamos a que el thread finalice y entonces lo volvemos a llamar cuando necesitemos volver a usarlo, pero creandolo con otro nombre de variable:
Dim T_second_instance As System.Threading.Thread = New Threading.Thread(AddressOf MITHREAD)
T_second_instance.Start()
'
' EL ADREESOF ES EL MISMO PARA LAS DOS INSTANCIAS YA QUE LA INTENCIÓN ES PODER USAR EL MISMO THREAD UNA Y OTRA VEZ.
No sé si lo hice bien, donde leí la solución para ejecutar el mismo thread las veces que uno quiera no había ningún ejemplo,
pero en caso de que el ejemplo que he dado séa correcto entonces necesito encontrar la manera de que el nombre de la variable se cree automáticamente para poder llamarlo las veces que séa necesario...
Necesitaría algo así:
sub button1_clicked...
Dim RandomClass As New Random()
Dim RandomNumber As Integer = RandomClass.Next()
Dim T_(RandomNumber) As System.Threading.Thread = New Threading.Thread(AddressOf MITHREAD)
T_(RandomNumber).Start()
end sub
Está claro que mi intento de randomizar la variable de la instancia no funciona,
¿Me pueden ayudar a hacerlo?