Bonjour,
J'ai un problème... je vous explique...
Mon programme lance plusieurs threads pour télécharger une liste de pages web, les analyser et extraire les données qui m'intéressent... jusque là tout va bien.
Une fois que j'ai ces données, je souhaite les stocker dans une base de données SQLite3. Je ne peux malheureusement pas le faire simultanément depuis chaque thread (pas d'accès concurrents), donc pour l'instant je fais un simple Synchronize(UpdateDB) dans mes threads, et ça semble fonctionner.
Mais pour éviter de bloquer mes threads chaque fois que j'arrive sur un Synchronize, j'aimerais à la place créer une espèce de liste de tâches: permettre à chaque thread d'ajouter une tâche à la liste avec en paramètre les données recueillies, et de passer à autre chose au lieu d'attendre que la mise à jour de la BDD ait eu lieu.
Ma première question est: est-ce que c'est possible ? Si oui, auriez-vous des pistes ? (Si j'ai bien compris OmniThreadLibrary aurait peut-être pu m'aider ? mais j'utilise D7 donc de toutes façons cette solution est exclue :-\ )
Partager