As they allow processes to communicate and synchronize, concurrent objects are, de facto, the most important objects of concurrent programming. The talk will present and illustrate two important notions associated with such objects. The first one, which is related to their implementation, is the notion of a hybrid implementation. The second one, which is related to their definition, is the notion of an abortable object. Roughly speaking, a hybrid implementation of a concurrent object is such that the algorithms implementing its operations do not use locks in "good circumstances", those being defined statically or dynamically. In particular the use of locks must be prevented in concurrency-free execution patterns.
展开▼