/ / VB.Net Zabi viacvláknovej funkcii - vb.net, multithreading

VB.Net Zabi viacvláknovej funkcii - vb.net, multithreading

Toto je môj kód:

For i As Integer = 0 to 20
mythread = New System.Threading.Thread(AddressOf myfunction)
mythread.Start()
Next

Chcem zabiť všetky vlákna, ktoré fungujú myfunction ()

Skúsil som:

For Each hello123 As System.Threading.Thread(AddressOf myfunction)
thread.abort(hello123)
Next

Ale prišiel s chybou (na AddressOf):

V typových špecifikátoroch sa nemôžu objaviť hranice polí.

odpovede:

0 pre odpoveď č. 1

Ak chcete funkciu zastaviť, musíme definovať boolean. Potom musí byť funkcia vnútri robiť to our_boolean = true slučky. Musí mať kód "Stop" our_boolean = false, takže keď je stlačený, urobte, kým bude slučka ihneď ukončená.

Vyzerá to takto:

Do While potato = True
"code
Loop

Po stlačení tlačidla zastavenia sa slučka okamžite zastaví, pretože zemiak je nastavený na hodnotu false. Potom, keď chceme pokračovať v spustení kódu, stačí nastaviť zemiak na pravdivý a funkciu volania.