Zope2 Sprint
»
ZRendevous
Notes from Jim Fulton:
How does ZRendevous work?
You have two different threads that need to "meet" or "rendevous" at some point. It's an Ada term... These are "Prodcer"/"Consumer" threads. The main loop places requests in the request queue and the worker threads come along and say "gimme one" - if there are none, they sit there and wait...
- pool is acollection of locks representing threads with work that are not waiting for work to do allocate our own lock
- start a new thread that runs ZServerPublisher? and passes it our accept method
- handle is a method to queue things (called by ZServer when there is a request)
- self._lists is a request queue