资 源 简 介
Projeto: tabela concorrente
•Implementar uma tabela concorrente com 2 colunas (a primeira é a chave)
•A tabela será previamente populada e deve suportar as seguintes operações
–Leitura dos valores associados a uma chave
–Alteração de uma linha –Modo transacional, várias linhas podem ser lidas ou modificadas de uma vez só
•No modo transacional, entre cada operação deve haver um atraso (forçado), por exemplo, de 0, 10 us, 100 us, 500 us, e 1 ms
•Cada transação tem entre 2 e 10 operações X = tabela.novaTransação(); y = tabela.lookup(X, key); tabela.set(X, key, y); Tabela.fimTransação(x);
•A tabela deve ter 3 implementações: –Sincronização grossa –Sincronização granular –Otimista
•Exemplo da implementação otimista –Lê sem travar e enfileira as escritas
–Quando chegar no fim da transação, trava os itens envolvidos (granular), valida os lidos e realiza as escritas
•Avaliaç