OVH Cloud OVH Cloud

Plusieurs actions en parallèle

2 réponses
Avatar
Ragnartichaud
Est-ce que qqun saurait comment faire qu'un programme ,qui traite
normalement les commandes linéairement, arrive à effectuer certaines
opérations en parallèle.

Exemple: faire deux boucles while en même temps( le temps de rélfexion sera
multiplié par deux évidemment)

plus précisemment c pour un TIPE sur l'intelligence articficielle, on
voudrait créer un programme qui simulerait des petits organismes, et on a du
mal à imaginer comment faire cela sans un mini programme pour chaque petit
organisme....

merci de votre aide

2 réponses

Avatar
Christian ASTOR
Ragnartichaud a écrit:

Est-ce que qqun saurait comment faire qu'un programme ,qui traite
normalement les commandes linéairement, arrive à effectuer certaines
opérations en parallèle.



http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndllpro/html/msdn_threads.asp
Avatar
Alexandre
"Ragnartichaud" a écrit dans le message de
news:404b50b6$0$304$
Est-ce que qqun saurait comment faire qu'un programme ,qui traite
normalement les commandes linéairement, arrive à effectuer certaines
opérations en parallèle.



Plusieurs méthodes. Le + efficace est de créer plusieurs threads
d'execution.


Exemple: faire deux boucles while en même temps( le temps de rélfexion


sera
multiplié par deux évidemment)

plus précisemment c pour un TIPE sur l'intelligence articficielle, on
voudrait créer un programme qui simulerait des petits organismes, et on a


du
mal à imaginer comment faire cela sans un mini programme pour chaque petit
organisme....



On peut pourtant faire très facilement en découpant le temps (discret), en
mémorisant l'état précédent de chaque organisme, puis en calculant pour
chacun d'entre eux l'état futur en fonction de l'état précédent. Pas besoin
de vraie execution en paralèlle, puisqu'on "fige" le temps.
Dans ce cas, ça me paraît + logique : si tu as 10000 organismes à calculer,
il serait stupide de créer 10000 threads !


merci de votre aide