REVISITANDO CO-ROTINAS / REVISITING COROUTINES

AUTOR(ES)
DATA DE PUBLICAÇÃO

2004

RESUMO

O objetivo deste trabalho é defender o resgate do conceito de co-rotinas como uma construção de controle poderosa e conveniente, que pode substituir tanto continuações de primeira classe como threads com um conceito único e mais simples. Para suprir a ausência de uma definição precisa e adequada para o conceito de co-rotinas, propomos um novo sistema de classificação, e introduzimos o conceito de co- rotinas completas, para o qual provemos uma definição formal, baseada em uma semântica operacional. Demonstramos a seguir a equivalência de poder expressivo entre co-rotinas completas simétricas e assimétricas e entre co-rotinas completas e continuações one-shot tradicionais e parciais, discutindo as vantagens de corotinas completas assimétricas em relação a co-rotinas simétricas e continuações de primeira classe. Finalmente, analizamos os benefícios e desvantagens associados aos diversos modelos de concorrência, justificando a adoção de modelos alternativos a multithreading e o oferecimento de co-rotinas como uma construção básica de concorrência, adequada à implementação desses modelos.

ASSUNTO(S)

continuacao modelos de concorrencia concurrency models co-rotinas coroutines continuation construcoes de controle control constructs

Documentos Relacionados