matthieu637 / cpp-2a-crawler

2 stars 0 forks source link

Optimisation des sections critiques dans LinkQueue #67

Open matthieu637 opened 7 years ago

matthieu637 commented 7 years ago

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.