Processos preventivos para a linguagem 4D

Tradução automática de Deepl

Desde 4D v11, tanto o servidor de bases de dados como o servidor SQL utilizam multi-tarefas preventivas. Começando com 4D v13, o Servidor Web em modo estático também utiliza o preemptivo. Agora com o v15 R5, a linguagem 4D também pode ser executada em processos preventivos.

As suas aplicações 4D compiladas poderão agora tirar o máximo partido dos computadores multi-core para que a sua execução seja mais rápida e possam suportar mais utilizadores conectados.

Full advantage of multi-cores

Qual é a diferença entre o modo Cooperativo e Preemptivo?

O modo cooperativo é agendado por processos e só pode utilizar um núcleo. O modo Preemptivo é agendado pelo SO e pode utilizar todos os núcleos disponíveis.

Aqui um exemplo com dois processos e dois núcleos:

Cooperative vs Preemptive

Como posso executar um método em processos preventivos?

Por defeito, 4D irá executar todos os métodos de projecto em modo cooperativo. Se quiser beneficiar da funcionalidade de modo preventivo, o primeiro passo consiste em declarar explicitamente todos os métodos que deseja iniciar em modo preventivo.

Para o fazer, existe uma nova propriedade “Modo de execução” nas propriedades do método. Tem 3 opções:

  • Pode ser executado em modo preventivo
  • Não pode ser executado em modo preventivo
  • Indiferente

Ao abrir a sua base de dados com 4D v15 R5, todos os seus métodos serão definidos como Indiferentes.

Como posso verificar se o meu código pode ser executado em processos preventivos?

Basta escrever o seu código e depois o compilador verifica se o método é compatível ou incompatível.

Para ver um exemplo, veja este vídeo:

Se quiser reproduzir todas as demonstrações anteriores, sugerimos que descarregue a seguinte base de dados de exemplo.

Exemplo de base de dados

Como posso saber que comandos podem ser executados em processos preventivos?

Os comandos 4D que podem ser executados em processos preventivos são indicados na documentação por um novo ícone. Este ícone é encontrado no lado superior direito.

New icon in documentation

Na v15 R5, está disponível um primeiro conjunto de comandos. Acrescentaremos mais comandos no seguinte lançamento R.

Sugerimos que descarregue o seguinte HDI. Actualizámos o comando “Command name” para que possa descobrir se o comando pode ou não ser executado em modo preventivo.

Exemplo de base de dados

Para mais detalhes, consulte o manual de actualização 4D v15 R5.

Vanessa Talbot
• Proprietário do produto - Vanessa Talbot entrou ao time 4D Program em Junho de 2014 como Proprietária do Produto e está a cargo de escrever as histórias dos usuários e depois traduzi-las em especificações funcionais. Seu papel também é garantir que a implementação da funcionalidade entregue cumpra com as necessidades do cliente. Desde sua chegada, trabalhou na definição de funcionalidades chaves em 4D. Trabalhou na maioria das novas funcionalidades multithread preemptivo e também em um tema muito complexo: a nova arquitetura para a aplicação engined. Vanessa é formada pela Telecom Saint-Etienne. Começou sua carreira no Instituto de Investigação Criminal como desenvolvedora do departamento audiovisual. Também trabalhou em meios de comunicação e no âmbito médico como especialista em assistência técnica, produção e documentação de novas funcionalidades.