|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Nouveau Membre du Club
![]() Inscription : juillet 2008 Messages : 61 ![]() |
Bonjour,
je dois parcourir une collection pour créer un ArrayList avec chacun des éléments de la collection, en effectuant quelques opérations sur ces éléments. Les opérations sont longues. Je voudrais exécuter chaque item de la boucle en parallèle. Ainsi pour chaque col.next je voudrais lancer un nouveau thread qui retourne le résultat et permet de l'ajouter à l'ArrayList. La méthode se terminerait lorsque toute la collection a été parsée. Existe-t-il un pattern permettant d'effectuer cet amélioration? Mon code ressemble donc à cela: Code :
|
||
|
|
00
|
|
|
#2 |
![]() ![]() Mathieu Ingénieur développement logiciels Inscription : avril 2004 Messages : 846 ![]() |
C'est quoi la variable "dsr" ? Elle est crée à quel moment ?
|
|
|
00
|
|
|
#3 |
![]() ![]() |
A supposer qu'il soit pertinent de paralléliser:
Enrober le code de calcul dans une classe X qui étends Runnable Créer avant la boucle un ThreadPoolExecutor de taille donnée (à déterminer). Pour chaque row rencontré, ajouter une nouvelle instance de X à l'executor (méthode execute) après la boucle, attendre que l'executor aie fini le travail.
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et ![]() "Votre génitrice tute des pédoncules au pandémonium" (le conjurateur, 1973) |
|
|
20
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Inscription : juillet 2008 Messages : 61 ![]() |
|
|
|
00
|
|
|
#5 | |
|
Nouveau Membre du Club
![]() Inscription : juillet 2008 Messages : 61 ![]() |
Citation:
effectivement c'est la logique des threads. Je ne suis pas sûr qu'il soit pertinent de paralléliser. Peut-être que je vais laisser cela pour le moment et revenir dessus quand j'aurai plus d'information. Je m'attendais à trouver un petit pattern, mais en fait ma question est tellement générale que je ne crois pas qu'il en existe de si générique. |
|
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Inscription : juillet 2008 Messages : 61 ![]() |
bon, comme dit ci-dessous, il faut tout d'abord vérifier si c'est pertinent de sérialiser... et malheureusement je n'arrive pas à déterminer cela pour le moment (surtout par manque de temps de réflexion en fait).
Ayant pu grandement optimiser ma boucle par ailleurs, je ne vais pas utiliser les threads pour le moment. Je passe quand même la question à résolue car l'architecture demandée est en fait expliquée dans tous les tutoriels sur les threads, et il s'avère que ma question était donc mal posée. Merci! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com