Je suis complètement nouveau à Perl, comme newbie absolue. J'essaye de développer un système qui lit une base de données et, selon les résultats, génère une file d'attente qui lance un autre script.Perl script multi thread ne fonctionne pas en parallèle
HERE est le code source.
Maintenant le script fonctionne comme prévu, sauf que j'ai remarqué qu'il ne fait pas vraiment les threads parallèles. Que j'utilise 1 thread ou 50 threads, le temps d'exécution est le même; 1 thread est encore plus rapide. Quand j'ai le script d'affichage quel thread a fait quoi, je vois que les threads ne fonctionnent pas en même temps, car il fera le fil 1, puis 2, puis 3 etc
Est-ce que quelqu'un sait ce que j'ai fait de mal ici? Encore une fois, le script fonctionne, mais pas dans les threads parallèles.
Donc ce que vous dites (corrigez-moi si je me trompe) si je supprime le sémaphore cela fonctionnerait? Comme je l'ai dit ... newbie on perl – renevdkooi
@renevdkool: En supposant que vous ne fassiez rien qui ait besoin d'être sérialisé. Pourquoi avez-vous mis le sémaphore là en premier lieu? –
en fait je n'en ai aucune idée. J'ai utilisé un exemple de script de threading et l'ai modifié en fonction de ma situation. L'idée est venue d'un script webcrawler. Je pensais juste que j'en avais besoin. – renevdkooi