Preemptivní procesy pro 4D jazyk

Automaticky přeloženo z Deepl

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ů.

Full advantage of multi-cores

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:

Cooperative vs Preemptive

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.

Příkladová databáze

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.

New icon in documentation

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.

Příklad databáze

Další podrobnosti naleznete v příručce k aktualizaci 4D v15 R5.

Vanessa Talbot
• Product Owner • Vanessa Talbot se připojila k programovému týmu 4D v červnu 2014. Jako Product Owner má na starosti psaní uživatelských příběhů a jejich převod do funkčních specifikací. Její úlohou je také zajistit, aby implementovaná funkce odpovídala potřebám zákazníka. Od svého příchodu pracovala na definování klíčových prvků ve 4D. Pracovala na většině nových funkcí preemptivního multi-threadingu a také na velmi složitém tématu: nové architektuře pro enginované aplikace. Vanessa má titul z Telecom Saint-Etienne. Svou kariéru začala ve Výzkumném ústavu kriminalistickém jako vývojářka pro audiovizuální oddělení. Působila také v mediální a lékařské oblasti jako expertka na technickou podporu, produkci i dokumentaci novinek.