[Zope] Re: Zope is a POS.

Josef Meile jmeile at hotmail.com
Fri Oct 15 04:58:39 EDT 2004


>> Not necessary. For example what if you want to manage concurrency? You 
>> will need row locking and perhaps table locking, thing, which I 
>> haven't figured out how to do with zope.
> 
> 
> Concurrency do not exists. Computers simulate concurrency but nothing 
> can't do 2 things at time overcoat if you have only 1 HD or 1 CPU
What if you have two CPUs trying to access the same HD? I agree, one CPU 
will have the access first, but somehow you will have to block the 
resorce. If you try to simulate this with zope, you could think about a 
lock attribute on the object, but one thing could happen:

Three CPUs: A, B, and C are trying to access object D on Hardisk E.

1) CPU A Arives first and takes Object D and checks lock, which is zero.
2) CPU B, which was late, takes Object D just right after A, so, lock is 
still zero.
3) CPU A sets lock to one and modifies D on a html form.
4) CPU B sets lock to one and modifies D on a html form.
5) CPU A saves modifications and sets lock to one.
6) CPU C arives and takes D because lock is zero.

As you see, CPU B and C are working with the false information. This is 
difficult to simulate with zope. That's why I think the row locking of a 
DB like mysql or postgres will do it better. The locking, if I'm not 
wrong, happens while accessing the data the first time.

Regards,
Josef


More information about the Zope mailing list