Od verze 4D v11 používají databázový server i server SQL preemptivní vícevláknové zpracování. Od verze 4D v13 používá preemptivní režim také webový server ve statickém režimu. Nyní ve verzi v15 R5 lze v preemptivních procesech spustit i jazyk 4D.
Vaše aplikace zkompilované do jazyka 4D nyní budou moci plně využívat výhod vícejádrových počítačů, takže jejich provádění bude rychlejší a budou moci podporovat více připojených uživatelů.
Jaký je rozdíl mezi kooperativním a preemptivním režimem?
Kooperativní režim je plánován procesy a může využívat pouze jedno jádro. Preemptivní režim je plánován operačním systémem a může využívat všechna dostupná jádra.
Zde je příklad se dvěma procesy a dvěma jádry:
Jak provést metodu v preemptivních procesech?
Ve výchozím nastavení bude 4D provádět všechny metody projektu v kooperativním režimu. Pokud chcete využít funkci preemptivního režimu, spočívá první krok v explicitní deklaraci všech metod, které chcete spustit v preemptivním režimu.
K tomu slouží nová vlastnost „Režim provádění“ ve vlastnostech metody. Máte tři možnosti:
- Lze spustit v preemptivním režimu
- Nelze spustit v preemptivním režimu
- Indiferentní
Když otevřete databázi pomocí 4D v15 R5, budou všechny vaše metody nastaveny na Indifferent.
Jak mohu zkontrolovat, že můj kód může být spuštěn v preemptivních procesech?
Stačí napsat kód a pak překladač zkontroluje, zda je metoda kompatibilní nebo nekompatibilní.
Chcete-li vidět příklad, podívejte se na toto video:
Pokud chcete všechny předchozí ukázky reprodukovat sami, doporučujeme stáhnout si následující ukázkovou databázi.
Jak zjistím, jaké příkazy lze spouštět v preemptivních procesech?
Příkazy 4D, které lze spouštět v preemptivních procesech, jsou v dokumentaci označeny novou ikonou. Tuto ikonu najdete vpravo nahoře.
Ve verzi v15 R5 je k dispozici první sada příkazů. Další příkazy přidáme v následující verzi R.
Doporučujeme vám stáhnout si následující HDI. Aktualizovali jsme příkaz „Název příkazu“, abyste mohli zjistit, zda lze příkaz spustit v preemptivním režimu.
Další podrobnosti naleznete v příručce k aktualizaci 4D v15 R5.