[en] CONCURRENCY AND COORDINATION MODELS FOR EVENT-DRIVEN IN LUA

[pt] O uso de multithreading tem se popularizado como forma de separar a execução de tarefas concorrentes e de alcançar maior desempenho aproveitando melhor o tempo das CPUs. No entanto, a programação com threads não é uma tarefa fácil. O uso dos recursos compartilhados deve ser coordenado, pois o a...

ver descrição completa

Detalhes bibliográficos
Autor: BRUNO OLIVEIRA SILVESTRE
Formato: tesis doctoral
Estado:Versión publicada
Fecha de publicación:2010
País:Brasil
Recursos:Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)
Repositorio:Repositório Institucional da PUC-RIO (Projeto Maxwell)
Idioma:portugués
OAI Identifier:oai:MAXWELL.puc-rio.br:15131
Acesso em linha:https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=15131&idi=1
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=15131&idi=2
http://doi.org/10.17771/PUCRio.acad.15131
Access Level:acceso abierto
Palavra-chave:[pt] PROGRAMACAO ORIENTADA A EVENTOS
[pt] CONCORRENCIA
[pt] LUA
[pt] COORDENACAO
[en] EVENT-ORIENTED PROGRAMMING
[en] CONCURRENCE
[en] LUA
[en] COORDINATION
Descrição
Resumo:[pt] O uso de multithreading tem se popularizado como forma de separar a execução de tarefas concorrentes e de alcançar maior desempenho aproveitando melhor o tempo das CPUs. No entanto, a programação com threads não é uma tarefa fácil. O uso dos recursos compartilhados deve ser coordenado, pois o acesso concorrente aos mesmos, na maioria dos casos, gera inconsistência na aplicação. O modelo de desenvolvimento orientado a eventos foi apontado por alguns como uma boa alternativa na criação de aplicações. Nesse modelo, a tarefa é realizada por um ou mais eventos, e um loop principal fica responsável por receber e despachar esses eventos. Investigamos, neste trabalho, um modelo em Lua que combina orientação a eventos com preempção sem trazer de volta os problemas de programação concorrente. Investigamos também como características da linguagem podem ser utilizadas para prover mecanismos de coordenação flexíveis. Essas características podem ajudar, por exemplo, a compor novos mecanismos a partir de existentes.