Frage : eine Hintergrundarbeitskraft mit einem TIMEOUTnetz 2.0 gründen

Ich habe a-für/zunächst Schleife und möchte sie bis einstellen laufen gelassen einer Funktion im Hintergrund.  Ich benötige auch diese Funktion, Abschaltung nach 5 Sekunden zu haben und einen Wert zurückzubringen, wenn er ausfiel.  Ich denke, dass ich gerade ihn auf ein Gewinde begrenzen möchte, aber mögen es die mehrfachen späteren Gewinde laufen lassen lassen konnte.  Jedes mögliches Beispiel auf, wie man dieses oben würde sein great. einstellt

Antwort : eine Hintergrundarbeitskraft mit einem TIMEOUTnetz 2.0 gründen

Ich betrachtete den Code und anscheinend arbeiten die Umwandlungswerkzeuge nicht.  Die VB Syntax für das Herstellen der Gewinde und der Ereigniszufuhren ist ziemlich unterschiedlich als C#.  Ich schrieb sie in VB neu und dieses sollte arbeiten, Gottwillen.  Ich habe es in einem VB Compiler auch im Sichtstudio auf Kompilationsstörungen geprüft und es gibt keine.

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:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
Importe System.Threading

Modul Module1

    Kategorie SampleClass

        Privates backgroundThread als Gewinde

        Privates VorStartBackgroundThread ()
            backgroundThread = neues Gewinde (neues ParameterizedThreadStart (AddressOf DoWork)) '***************** sehen das Unterseeboot nicht zum dowork

            backgroundThread.IsBackground = richten aus
            'Timer, zum des Gewindes nach 5 Sekunden abzubrechen
            Schwacher Timer als neues System.Timers.Timer (5000) '5 Sekunden

            AddHandler Timer. Abgelaufen, timer_Elapsed AddressOf

            '*********** haben Verlauf nicht als Wahl.  Auch sieht nicht das timer_elapsed Unterseeboot

            'Gewinde beginnen dann Timer beginnen
            backgroundThread.Start ()
            Timer. Beginnen ()
        Unterseebootbeenden  'Endenfunktion StartBackgroundThread

        'Timer abgefeuert nach einer 5-Sekunden-Funktion
        Privates Vor timer_Elapsed (ByVal Absender als Gegenstand, ByVal e als System.Timers.ElapsedEventArgs)
            Versuch
                Wenn backgroundThread IsNot nichts dann   '*********** backgroundTimer nicht definiert wird
                    backgroundThread.Abort ()             '********* backgroundTimer wird nicht definiert
                Beenden wenn
            Fang
            Enden-Versuch
        Endenvor  'Endentimer-Funktion

        'Arbeitsfunktion tun
        Privates VorDoWork (ByVal Zustand als Gegenstand)

            Versuch
                'hier arbeiten              
            E als System.Threading.ThreadAbortException sich verfangen
                'den Timer behandeln, der hier abgelaufen wird
            Versuch beenden
        Unterseeboot beenden
    Kategorie beenden

    Sub Hauptleitung ()

    Unterseeboot beenden
Modul beenden
Weitere Lösungen  
 
programming4us programming4us