Depuis 4D v11, le serveur de base de données et le serveur SQL utilisent tous deux le multithreading préemptif. À partir de 4D v13, le serveur Web en mode statique utilise également le préemption. Maintenant, avec la v15 R5, le langage 4D peut également être exécuté dans des processus préemptifs.
Vos applications compilées 4D pourront désormais tirer pleinement parti des ordinateurs multi-cœurs afin que leur exécution soit plus rapide et qu’elles puissent prendre en charge davantage d’utilisateurs connectés.
Quelle est la différence entre le mode coopératif et le mode préemptif ?
Le mode coopératif est planifié par les processus et ne peut utiliser qu’un seul cœur. Le mode préemptif est planifié par le système d’exploitation et peut utiliser tous les cœurs disponibles.
Voici un exemple avec deux processus et deux cœurs :
Comment exécuter une méthode dans les processus préemptifs ?
Par défaut, 4D exécute toutes les méthodes du projet en mode coopératif. Si vous souhaitez bénéficier de la fonctionnalité de mode préemptif, la première étape consiste à déclarer explicitement toutes les méthodes que vous souhaitez voir démarrer en mode préemptif.
Pour ce faire, il existe une nouvelle propriété « Execution mode » dans les propriétés de la méthode. Vous avez 3 options :
- Peut être exécuté en mode préemptif
- Ne peut pas être exécuté en mode préemptif
- Indifférent
Lorsque vous ouvrez votre base de données avec 4D v15 R5, toutes vos méthodes seront en mode Indifférent.
Comment puis-je vérifier que mon code peut être exécuté en mode préemptif ?
Il suffit d’écrire votre code puis le compilateur vérifie si la méthode est compatible ou incompatible.
Pour voir un exemple, regardez cette vidéo :
Si vous souhaitez reproduire vous-même toutes les démonstrations précédentes, nous vous proposons de télécharger la base de données d’exemples suivante.
Comment puis-je savoir quelles commandes peuvent être exécutées dans des processus préemptifs ?
Les commandes 4D qui peuvent être exécutées dans des processus préemptifs sont indiquées dans la documentation par une nouvelle icône. Cette icône se trouve en haut à droite.
Dans la v15 R5, une première série de commandes est disponible. Nous ajouterons d’autres commandes dans les versions R suivantes.
Nous vous suggérons de télécharger le HDI suivant. Nous avons mis à jour la commande « Nom de la commande » afin que vous puissiez savoir si la commande peut être exécutée en mode préemptif ou non.
Pour plus de détails, veuillez consulter le manuel de mise à niveau de 4D v15 R5.