I felt the need to debunk the common myths perpetuated here:
Is it possible to give priorities to Python threads, as it is in Java?
Not in the OS sense. But you can use cooperative multitasking and your own custom scheduler to ensure that certain threads use more time. You can also set the timeslices between a thread with this:
http://docs.python.org/library/sys.html#sys.setcheckinterval
How can I kill, stop, suspend and interrupt thread in Python?
Note that you can do it. Its just difficult, and people will wax philosophical about how it is evil. But this is true in any language. You can either use the following API function:
http://docs.python.org/c-api/init.html#PyThreadState_SetAsyncExc
Or you can use your underlying OS like TerminateThread in windows off the TID. Just be sure to acquire the global lock.
Thread groups - what are they really for? Does Python support them too?
I don't believe so. They are for controlling groups of threads.
Synchronization - in Java we use simply keyword synchorinized for a method, object...What about Python?
Read the thread and threading module.