> All threads are blocked in semaphores.
That they are blocked is inevitable - I guess the issue is that they are
thrashing.
I guess it would be necessary to separate the internals to have some
internal queueing and effectively reduce the number of actively
executing threads.
In effect make the connection pooling work internally.
Would it be possible to make the caches have persistent (functional)
data structures - effectively CoW?
And how easy would it be to abort if the master view had subsequently
changed when it comes to execution?