Präemptive Prozesse für 4D-Sprache

Seit 4D v11 verwenden sowohl der Datenbankserver als auch der SQL Server präemptives Multi-Threading. Ab 4D v13 verwendet der Web Server im statischen Modus ebenfalls präemptive Prozesse. Mit v15 R5 kann nun auch die 4D Sprache in präemptiven Prozessen ausgeführt werden.

Ihre kompilierten 4D Anwendungen können nun die Vorteile von Multi-Core Computern voll ausnutzen, so dass sie schneller ausgeführt werden und mehr angeschlossene Benutzer unterstützen können.

Full advantage of multi-cores

Was ist der Unterschied zwischen kooperativem und präemptivem Modus?

Der kooperative Modus wird von den Prozessen geplant und kann nur einen Kern verwenden. Der präemptive Modus wird vom Betriebssystem geplant und kann alle verfügbaren Kerne nutzen.

Hier ein Beispiel mit zwei Prozessen und zwei Kernen:

Cooperative vs Preemptive

Wie kann ich eine Methode in präemptiven Prozessen ausführen?

Standardmäßig führt 4D alle Projektmethoden im kooperativen Modus aus. Wenn Sie die Vorteile des präemptiven Modus nutzen möchten, müssen Sie zunächst explizit alle Methoden deklarieren, die im präemptiven Modus gestartet werden sollen.

Dazu gibt es eine neue Eigenschaft „Ausführungsmodus“ in den Methodeneigenschaften. Sie haben 3 Optionen:

  • Kann im präemptiven Modus ausgeführt werden
  • Kann nicht im präemptiven Modus ausgeführt werden
  • Gleichgültig

Wenn Sie Ihre Datenbank mit 4D v15 R5 öffnen, werden alle Ihre Methoden auf Indifferent gesetzt.

Wie kann ich überprüfen, ob mein Code in präemptiven Prozessen ausgeführt werden kann?

Schreiben Sie einfach Ihren Code und der Compiler prüft, ob die Methode kompatibel oder inkompatibel ist.

Um ein Beispiel zu sehen, schauen Sie sich dieses Video an:

Wenn Sie alle vorherigen Demonstrationen selbst nachvollziehen möchten, empfehlen wir Ihnen, die folgende Beispieldatenbank herunterzuladen.

Beispiel-Datenbank

Woher weiß ich, welche Befehle in präemptiven Prozessen ausgeführt werden können?

Die 4D Befehle, die in präemptiven Prozessen ausgeführt werden können, sind in der Dokumentation durch ein neues Symbol gekennzeichnet. Dieses Symbol befindet sich oben rechts.

New icon in documentation

In v15 R5 ist ein erster Satz von Befehlen verfügbar. Wir werden weitere Befehle in den folgenden R-Versionen hinzufügen.

Wir schlagen vor, dass Sie die folgende HDI herunterladen. Wir haben den Befehl „Befehlsname“ aktualisiert, damit Sie herausfinden können, ob der Befehl im präemptiven Modus ausgeführt werden kann oder nicht.

Beispiel Datenbank

Weitere Details finden Sie im 4D v15 R5 Upgrade Handbuch.

Vanessa Talbot
Product Owner - Vanessa Talbot kam im Juni 2014 zum 4D Programmteam. Als Product Owner ist sie für das Schreiben der User Stories und deren Umsetzung in funktionale Spezifikationen zuständig. Ihre Aufgabe ist es auch, sicherzustellen, dass die Implementierung der Funktionen den Anforderungen des Kunden entspricht. Seit ihrer Ankunft hat sie an der Definition der wichtigsten Funktionen in 4D gearbeitet. Sie hat an den meisten der neuen Funktionen für präemptives Multi-Threading gearbeitet und auch an einem sehr komplexen Thema: der neuen Architektur für erstellte Anwendungen. Vanessa hat einen Abschluss von der Telecom Saint-Etienne. Sie begann ihre Karriere am Criminal Research Institute als Entwicklerin für die audiovisuelle Abteilung. Sie hat auch in den Bereichen Medien und Medizin als Expertin für technischen Support, Produktion und die Dokumentation neuer Funktionen gearbeitet.