Processi preventivi per il linguaggio 4D

Tradotto automaticamente da Deepl

Da 4D v11, il server di database e il server SQL utilizzano entrambi il multi-threading preemptive. A partire da 4D v13, anche il server Web in modalità statica utilizza il preemptive. Ora, con la v15 R5, anche il linguaggio 4D può essere eseguito in processi preemptive.

Le applicazioni compilate in 4D saranno ora in grado di sfruttare appieno i computer multi-core, in modo che la loro esecuzione sia più veloce e possano supportare un maggior numero di utenti connessi.

Full advantage of multi-cores

Qual è la differenza tra modalità cooperativa e preemptive?

La modalità cooperativa è pianificata dai processi e può utilizzare un solo core. La modalità preemptive è programmata dal sistema operativo e può utilizzare tutti i core disponibili.

Ecco un esempio con due processi e due core:

Cooperative vs Preemptive

Come si esegue un metodo nei processi con prelazione?

Per impostazione predefinita, 4D esegue tutti i metodi del progetto in modalità cooperativa. Se si desidera beneficiare della funzione di modalità preemptive, il primo passo consiste nel dichiarare esplicitamente tutti i metodi che si desidera avviare in modalità preemptive.

Per farlo, esiste una nuova proprietà “Modalità di esecuzione” nelle proprietà del metodo. Sono disponibili 3 opzioni:

  • Può essere eseguito in modalità preemptive
  • Non può essere eseguito in modalità di prelazione
  • Indifferente

Quando si apre il database con 4D v15 R5, tutti i metodi saranno impostati su Indifferente.

Come posso verificare che il mio codice possa essere eseguito in processi di prelazione?

Basta scrivere il codice e il compilatore controlla se il metodo è compatibile o incompatibile.

Per vedere un esempio, guardate questo video:

Se volete riprodurre voi stessi tutte le dimostrazioni precedenti, vi suggeriamo di scaricare il seguente database di esempio.

Database di esempio

Come faccio a sapere quali comandi possono essere eseguiti nei processi con prelazione?

I comandi 4D che possono essere eseguiti in processi con prelazione sono indicati nella documentazione da una nuova icona. Questa icona si trova in alto a destra.

New icon in documentation

Nella v15 R5 è disponibile una prima serie di comandi. Verranno aggiunti altri comandi nelle successive release R.

Si consiglia di scaricare il seguente HDI. Abbiamo aggiornato il comando “Nome del comando” in modo da poter sapere se il comando può essere eseguito in modalità preemptive o meno.

Esempio di database

Per ulteriori dettagli, consultare il manuale di aggiornamento di 4D v15 R5.

Vanessa Talbot
- Product Owner - Vanessa Talbot è entrata a far parte del team di 4D Program nel giugno 2014. In qualità di Product Owner, è incaricata di scrivere le storie degli utenti e di tradurle in specifiche funzionali. Il suo ruolo è anche quello di assicurarsi che l'implementazione della funzionalità fornita soddisfi le esigenze del cliente. Ha lavorato sulla maggior parte delle nuove funzionalità di multi-threading preemptive e anche su un argomento molto complesso: la nuova architettura per le applicazioni con motore. Vanessa si è laureata presso Telecom Saint-Etienne. Ha iniziato la sua carriera presso il Criminal Research Institute come sviluppatrice per il dipartimento audiovisivo. Ha lavorato anche nei settori dei media e della medicina come esperta di supporto tecnico, produzione e documentazione di nuove funzionalità.