Multitasking and containers



Hi,

Paragraph 3 in Annex A says that it's OK to call any standard subprogram from concurrent tasks as long as the parameters do not overlap. John Barnes ("Progamming in Ada 2005") suggests that in order to (for example) read from the same container, the operations need to be protected "by using the normal techniques such as protected objects".

But reading from the protected object is not mutually exclusive (many readers are allowed) - so where's the gain? What's the difference between concurrent reads of, say, a Vector via protected object vs. direct access?

--
Maciej Sobczak : http://www.msobczak.com/
Programming : http://www.msobczak.com/prog/
.