Vraag : opstelling een achtergrondarbeider met een onderbreking netto 2.0

Ik heb a daarna voor/lijn en zou het tot looppas een functie op de achtergrond willen plaatsen.  Ik heb ook deze functie nodig om onderbreking na 5 seconden te hebben en een waarde terug te keren als het ontbrak.  Ik denk ik enkel het tot één draad wil beperken, maar zou kunnen houden van het te hebben veelvoudige draden later in werking stellen.  Om het even welk voorbeeld op hoe te om dit zou te plaatsen omhoog great. zijn

Antwoord : opstelling een achtergrondarbeider met een onderbreking netto 2.0

Ik bekeek de code en blijkbaar werken de omzettingshulpmiddelen niet.  De syntaxis VB voor het creëren van draden en gebeurtenismanagers is vrij verschillend dan C#.  Ik herschreef het in VB en dit zou moeten werken, gewillige God.  Ik heb het in een compiler VB ook in Visuele Studio voor compilatiefouten getest en er zijn niets.

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
De invoer System.Threading

Module Module1

    Klasse SampleClass

        Privé backgroundThread als Draad

        Privé SubStartBackgroundThread ()
            backgroundThread = Nieuwe Draad (Nieuwe ParameterizedThreadStart (AddressOf DoWork)) '***************** zie niet sub aan dowork

            backgroundThread.IsBackground = Waar
            'tijdopnemer om draad na 5 seconden te aborteren
            Schemerige tijdopnemer als Nieuwe System.Timers.Timer (5000) '5 seconden

            De tijdopnemer van AddHandler. Verstreken, timer_Elapsed AddressOf

            '*********** hebben geen verstrijken als optie.  Ook ziet niet sub timer_elapsed

            'de begindraad begint dan tijdopnemer
            backgroundThread.Start ()
            tijdopnemer. Begin ()
        Sub '  het eindfunctie StartBackgroundThread van het eind

        de 'tijdopnemer stak na 5 secondenfunctie in brand
        Privé Sub timer_Elapsed (ByVal afzender als Voorwerp, ByVal e als System.Timers.ElapsedEventArgs)
            Probeer
                Als backgroundThread wordt IsNot niets dan   '*********** backgroundTimer niet bepaald
                    backgroundThread.Abort ()             '********* backgroundTimer niet wordt bepaald
                Beëindig als
            Vangst
            Het eind probeert
        Functie van de het eind  tijdopnemer van het eind de Sub '

        'werken functie
        Privé SubDoWork (staat ByVal als Voorwerp)

            Probeer
                'werken hier              
            Vang e als System.Threading.ThreadAbortException
                'behandel tijdopnemer hier verliep
            Het eind probeert
        Sub van het eind
    De Klasse van het eind

    Sub Leiding ()

    Sub van het eind
De Module van het eind
Andere oplossingen  
 
programming4us programming4us