Marko Rauhamaa <ma...@pacujo.net> wrote:

> The main problems with threads include:
> 
>  * Thread-safety is rarely done right. Also, when it's done wrong, it
>    can be virtually impossible to fix it without a significant rewrite.
>    This is not a theoretical concern: I have had to deal with the
>    resulting nightmares in my work.
> 
>  * There is no accepted, taught, industry-wide discipline on proper
>    thread-safety practices so every developer has to improvise. I have
>    come up with a "bullet-proof" way of developing with threads, but
>    even that methodology has nasty corner cases.
> 
>  * Thread-safety cannot be abstracted out. IOW, divide and conquer
>    doesn't work. You can't hide the locking inside a class and forget
>    about it. The entire application must be aware low-level thread
>    synchronization needs.

The problem here is the belief that "thread-safety cannot be abstracted
out". It can. The solution is to share nothing and send messages through
queues. If you start to use mutexes and conditions all over your code, you
might shoot yourself in the foot, eventually.   

Sturla

-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to