The simple study is:
Ant life simulation
I'm creating an OO structure that see a Class for the Anthill, a Class for the Ant and a Class for the whole simulator.
Now I'm brainstorming on "how to" make Ants 'live'...
I know that there are projects like this just started but I'm brainstorming, I'm not looking for a just-ready-to-eat-dish.
Sincerely I have to make some tests for understand on "what is better", AFAIK Threads, in Python, use less memory than Processes.
What "Ants" have to do when you start the simulation is just: moving around with random direction, if they found food ->eat/bring to the anthill, if they found another ant from another anthill that is transporting food -> attack -> collect food -> do what have to do.... and so on...that means that I have to "share" information across ants and across the whole enviroment.
so I rewrite:
It's better to create a Process/Thread for each Ant or something else?
EDIT:
In cause of my question "what is better", I'd upvoted all the smart answers that I received, and I also put a comment on them.
After my tests, I'll accept the best answer.
I wrote an ant simulation (for finding a good TSP-solution) and a wouldnt recommend a Thread-Solution. I use a loop to calculate for each ant the next step, so my ants do not really behave concurrently (but synchronize after each step). 
I don't see any reason to model those ants with Threads. Its no advantage in terms of run-time behavior nor is it an advantage in terms of elegancy (of the code)!
It might be, admittedly, slightly more realistic to use Threads since real ants are concurrent, but for simulations purposes this is IMHO neglectable.
Ant simulation: it's better to create a Process/Thread for each Ant or something else?