Hoje foi efetuada uma modificação na forma como os comportamentos do Assistente Pessoal (AP) no Gerenciador de Assistentes Pessoais (GAP) são executados. A forma como estava funcionando era por meio de um laço. Apesar de cada AP ser executado na forma de thread(1), seus comportamentos eram executados um a um em um laço interno do AP.
O problema que poderia ocorrer é que se um comportamento deste AP travasse, os outros comportamentos também ficariam travados, aguardando a sua vez de executar. Em tempo, os outros APs não teriam problemas por serem outras threads.
A forma de corrigir isso foi transformar a maneira como os comportamentos eram instanciados no AP. O laço de execução dos comportamentos no AP foi retirado e o comportamento foi definido como thread. Dessa forma, a execução de um comportamento, mesmo que este esteja travado esperando algum processamento, não influencia a execução dos outros comportamentos, que continuam sua execução normalmente.
Notas de Rodapé
(1) Programar utilizando threads é uma técnica de dividir o processamento em duas ou mais tarefas que são executadas de forma concorrente (paralelamente). Este recurso é fornecido pelo suporte do Sistema Operacional e pela Linguagem de Programação. No caso do GAP da Arisa, a implementação foi feita na linguagem de programação Java no Sistema Operacional GNU/Linux Ubuntu.