skip@pobox.com wrote:
Is optimistic concurrency
http://en.wikipedia.org/wiki/Optimistic concurrency_control
This is designed for humans using client programs to edit records in shared databases with a low collision rate at the record level.
a possible option for removing the GIL in Python?
It does not strike me as practical for Python. 1. It starts with copying data. Clients accessing a database server already do this. Threads accessing *shared* data normally do not. 2. Any edit (change) may be discarded in part or in whole. Human operators, informed of the rejection, must (and 'somehow' do) decide what to do. Wrapping every assignment to shared data with a pre-programmed RejectionException handler would usually be a huge burden on the programmer.