Actuellement les sections critiques ( = partie de code où un seul thread doit être exécuté) sont protégés par le mot clé synchronized (qui ne différencie ni l'écriture ni la lecture). Or cela empêche d'avoir des lectures concurrentes qui pourraient accélérer l’exécution globale.
Les méthodes d'écriture doivent être exécutées par une seule thread : addPriorityLink, ...
Les méthodes de lecture peuvent être exécutées par plusieurs threads : size, removeAlreadyParsed, ...
Pour cela il va falloir utiliser des ReadWriteLock comme dans le serveur de bourse.
Actuellement les sections critiques ( = partie de code où un seul thread doit être exécuté) sont protégés par le mot clé
synchronized
(qui ne différencie ni l'écriture ni la lecture). Or cela empêche d'avoir des lectures concurrentes qui pourraient accélérer l’exécution globale. Les méthodes d'écriture doivent être exécutées par une seule thread : addPriorityLink, ... Les méthodes de lecture peuvent être exécutées par plusieurs threads : size, removeAlreadyParsed, ...Pour cela il va falloir utiliser des ReadWriteLock comme dans le serveur de bourse.