Quiz Maggio 2003

Vedi tutte le pagine e le modifiche recenti o scarica i sorgenti nella pagina


Quiz Maggio 2003

scrivere un metodo synchronize(unMetodo) che provveda a creare al posto nostro un sistema per l’accesso concorrente ad un metodo, sul modello della keyword ‘synchronized’ in java.

In sostanza deve essere possibile fare una cosa del genere

def metodo
 ..
end
synchronize (:metodo)
  1. o synchronize(methodObject)
(1..10).each {
 Thread.new { chiamata a metodo}
}

insomma, i thread non devono preoccuparsi di attivare/rilasciare lock nell’accedere al metodo.

Ma non finisce qui :) Maggior gloria a un’ulteriore versione di synchronize:

synchronize(unaClasse)

che restituisca una classe con tutti i metodi sincronizzati, (possibilmente anche i metodi d’istanza). Ad esempio: SyncArray=synchronize(Array)

SyncArray

Created on November 25, 2005 13:40 by il gruppo (256.256.256.256)