OBS/Adminhilfe/Threading
Zur Navigation springen
Zur Suche springen
Für diese Seite wurde eine Zugriffsbeschränkung eingerichtet. Falls du diese Nachricht siehst, bist du nicht berechtigt, diese Seite einzusehen.
Dies ist eine zugriffsgeschützte Seite.
FAQ
- System Überwachung
- DEP deaktivieren
- Darstellung unter Windows 7
- Einwahl auf Windows 2000 Server
- Preislisten
- Datenbank Sicherung
- Customize
- Zentrale
- Support Macro
- Service Debug
- Historienprotokoll (Datenänderung OBS)
- Fernwartungsprobleme
- Startparameter
- Fehler beim Kassenabschluss
- Diverse Informationen
Häufige Fehler FAQs
Allgemeines
Wiki Hilfe
Syntax
Wiki-Gruppen Benutzerlisten
MySQL
Programmierung und Mergen
Delphi
Einrichtung
Git/SmartGit
Programm Update
PAX
Nützliche Funktionen
SteVe
OBS-Administration / Installation
Einrichtung
MySQL
Dienste
Kasse/Notfallkasse
Replikation
Zentrale
Fleet-Management einrichten
OBS Umzug
Admin Funktionen
Service Firmen
F10
- A ras.pbk
- B Command Line Interpreter
- C File Zilla Benutzer XML erzeugen
- D1 OBS_UPDATE.EXE zum OBS Update Server hochladen
- D2 SUPPORT_MACRO zum OBS Update Server hochladen
- H1 Remote Service Protokoll-Übersicht (Alles)
- H Remote ServiceProtokoll-Übersicht
- I Remote Service Commands
- I1 (Admin) Globaler Hinweis für Updates
- J Liste der OBS Updates
- K Angemeldete Service Firmen
- L Systeminformationen einlesen
- M Kundendaten anzeigen
- M1 Kundendatenbankinformationen anzeigen
- N Kundendaten einlesen
- O Kunden-Update Informationen anzeigen
- P Modul Registrierung OBS
- Q App Verwaltung
- S1 Firmen Statistik Protokolle OBS
- S2 Statistik Notfallkassen
O Support
D Programmierer-Tools
V Crypt Autologin Edit
J Update Marko Lib/Pmode/Script Lib
kundenspezifische Anpassungen
OBS Protokolle
OBS DEMO
Shop-Administration
modified eCommerce
modified eCommerce 2.x
modified eCommerce 1.06
Amazon
VShop 4.0
Kundeninformationen
Threading
Datenstruktur-Auswahl
Wann ist welche Datenstrutkur zu wählen, welche Unterschiede gibt es.
TxThread: Ein dauerhaft laufender nebenläufiger Prozess mit kurzer Interval-Zeit. Beispiel: Thread-Widget, dass alle 2s die nebenläufigen Prozesse auflistet.
TxTask: Der Prozess wird einmalig ausgeführt oder hat eine hohe Interval-Zeit. Beispiel: Angedocktes Widget, dass beim Wechsel des Datensatzes EINMALIG Daten erhebt und anzeigt. Beispiel: ToDo-Widget, dass sich nur selten aktualisiert (30s).
CallAsync: Einmalige Ausführung, Fire-and-Forget. Achtung: Parallele Ausführung möglich. Beispiel: Das wöchentlich laufende Optimize-Tables innerhalb der Garbage.
TxThread
- läuft nach der Ausführung (.Start) dauerhaft
- Events für Initialisierung (OnInit), Nebenläufigkeit (OnLoop) und Synchronisation (OnSync)
- Sync wird nur ausgeführt wenn im Loop "CallSync" aufgerufen wird
- Sync wird NACH Loop ausgeführt, NIEMALS parallel, Datenstrukturen können also übergreifend genutzt werden
- Loop wird alle "Interval"-ms ausgeführt
- Loop kann von außen manuell früher aufgerufen werden (.Execute)
TxTask
- läuft einmalig nach der ausführung (.Execute)
- Abbruch möglich (.Stop), Abbruch kann auf das Ende des Prozesses warten (.Stop(true))
- Nebenläufigkeit und Synchronisation laufen NIEMALS parallel
- Mehrfachaufruf ist möglich, ein erneuter Aufruf beenedet aber zuvor den Vorherigen, somit ist die parallele Ausführung der Nebenläufigkeit ausgeschlossen
- regelmässige ausführung über .Schedule(Interval) möglich (über internen Task-Manager)
- Beenden mit MyFreeAndNil wartet auf das Ende
CallAsync
- Aufruf über den ThreadPool: GL_oThreadPool.CallAsync(...)
- keine Datenstruktur nötig
- Ausführung kann nicht abgebrochen werden (außer durch Programm-Ende)
- parallele Ausführung ist möglich, am besten auf externen Datenstrukturen verzichten