This long, detailed, and entertaining article describes the history and design of --thunder-lock
: http://uwsgi-docs.readthedocs.org/en/latest/articles/SerializingAccept.html
But it doesn't help me decide when I need it!
When is and isn't --thunder-lock
beneficial?
Well... the answer is not that easy. But in general, you should use it when you're using multiple workers with multiple threads. But...
There are dozens of different operating systems and thunder locking is highly dependent on their capabilities. There are at least six different mechanisms of thunder locking, which are choosed by uWSGI based on operating system capabilities, some of them are better than other. If you're using for example Linux with robust pthread support, you're 99.999999% safe to use thunder-lock.