Thread terminate

Marko Rauhamaa marko at pacujo.net
Thu Aug 28 05:02:29 EDT 2014


Ervin Hegedüs <airween at gmail.com>:

> at this time there is only one thread, as you wrote. I just try
> to prepare it to higher load, when one thread will not enough...

Threads are a necessary evil when dealing with blocking function calls,
but evil they remain. I would generally *not* associate a thread for
each parallel context but work with a limited thread pool, whose size is
independent of the number of contexts. Often, a good rule of thumb is to
have two threads per CPU core to get most out of the hardware.

Since you talked about forking, you might be better served with a pool
of processes instead of threads since processes have less surprising
semantics and, if push came to shove, you can kill them with a signal.


Marko



More information about the Python-list mailing list