Hallo
in diesem Tutorial zeige ich mal wie die grundlagen des Threadings gehen
also zuerst einmal zur Theorie:
Ein programm Läuft standartmässig nur in einem Thread. Das programm macht erst weiter wenn die aktuelle aufgebe erfüllt ist(Timer sind ausnahmen).
erstellt man jetst einen neuen Thread so wird alles was darin passiert paralell zu dem HauptThread laufen also sagen wir mal im einen thread ist eine While schleife, Das Programm macht erst weiter wenn die schleife vorbei ist. währendessen will man aber noch andere funktionen des programmes nutzen
Lösung: man setzt die Wile schleife in einen eigenen Thread dass sie im hintergrun neben dem programm läuft
nun zum proktischen
ich werde anhand eines programms was zu einer bestimmten zeit den pc runterfährt die grundlagen des threadings erklären
als erstes breauchen wir eine form mit 3 textboxen
eine für die anzahl der tage bis shutdown, eine für die anzahl der stunden und eine für minuten
und einen button
nun wechseln wir in den code editor und importieren die
und in die Class kommen 2 variablen
das erste wird die zeit sein an der runtergefahren wird und das 2te der thread in dem überprüft wird
En thread kann nur auf Variablen/Subs/Classes zugreifen die entweder algemein sind oder im Thread erstellt wurden (also kann ein 2ter thread nicht einfach so auf textboxen zugreifen) d.h müssen wir das datum in einer allgemeinen variable speichern
so in den Button kommt erst einmal der code zum ausrechnen der uhrzeit des shutdown
Alles anzeigen
kurz um er rechnet nur die zeit aus
dann rufen wir den thread auf
als erstes erstellen wir eine neue sub
die wird dann unser thread benutzen
dann erstellen wir erstmal einen neuen thread
damit wird ein neuer thread geöffnet und mit
beginnt er dann
gut in die sub kommt dann
das ist soviel wie solange nicht die gesuchte zeit ist soll er 10 millisekunden schlafen (besser für PC) und wenn die zeit ist dann soll er die shutdown ausführen.
das end am ende ist damit die gesamte application mit allen threads beendet wird
nun soll ja das fenster verschwinden das geht noch unter
mit
somit wird der hauptthread der die form am laufen hat beendet (spart Ram)
in diesem Tutorial zeige ich mal wie die grundlagen des Threadings gehen
also zuerst einmal zur Theorie:
Ein programm Läuft standartmässig nur in einem Thread. Das programm macht erst weiter wenn die aktuelle aufgebe erfüllt ist(Timer sind ausnahmen).
erstellt man jetst einen neuen Thread so wird alles was darin passiert paralell zu dem HauptThread laufen also sagen wir mal im einen thread ist eine While schleife, Das Programm macht erst weiter wenn die schleife vorbei ist. währendessen will man aber noch andere funktionen des programmes nutzen
Lösung: man setzt die Wile schleife in einen eigenen Thread dass sie im hintergrun neben dem programm läuft
nun zum proktischen
ich werde anhand eines programms was zu einer bestimmten zeit den pc runterfährt die grundlagen des threadings erklären
als erstes breauchen wir eine form mit 3 textboxen
eine für die anzahl der tage bis shutdown, eine für die anzahl der stunden und eine für minuten
und einen button
nun wechseln wir in den code editor und importieren die
und in die Class kommen 2 variablen
das erste wird die zeit sein an der runtergefahren wird und das 2te der thread in dem überprüft wird
En thread kann nur auf Variablen/Subs/Classes zugreifen die entweder algemein sind oder im Thread erstellt wurden (also kann ein 2ter thread nicht einfach so auf textboxen zugreifen) d.h müssen wir das datum in einer allgemeinen variable speichern
so in den Button kommt erst einmal der code zum ausrechnen der uhrzeit des shutdown
Quellcode
- Dim Year As Long = 0
- Dim Month As Long = 0
- Dim Day As Long = Now.Day + TextBox1.Text
- Dim Hour As Long = Now.Hour + TextBox2.Text
- Dim Minute As Long = Now.Hour + TextBox3.Text
- If Minute > 60 Then
- Do Until Minute <= 60
- Hour += 1
- Minute -= 60
- Loop
- End If
- If Hour > 24 Then
- Do Until Minute <= 24
- Month += 1
- Hour -= 24
- Loop
- End If
- ShutDownTime = New Date(Year, Month, Day, Hour, Minute, Now.Second)
kurz um er rechnet nur die zeit aus
dann rufen wir den thread auf
als erstes erstellen wir eine neue sub
die wird dann unser thread benutzen
dann erstellen wir erstmal einen neuen thread
damit wird ein neuer thread geöffnet und mit
beginnt er dann
gut in die sub kommt dann
das ist soviel wie solange nicht die gesuchte zeit ist soll er 10 millisekunden schlafen (besser für PC) und wenn die zeit ist dann soll er die shutdown ausführen.
das end am ende ist damit die gesamte application mit allen threads beendet wird
nun soll ja das fenster verschwinden das geht noch unter
mit
somit wird der hauptthread der die form am laufen hat beendet (spart Ram)