Array.h describes itself as "A re-entrant array class". The implementation provides synchronization around array extension, but there is no mechanism to provide synchronization in access to individual array elements for element types that are not single copy atomic.
Consider two threads executing:
a[n] = b and x = a[n]
for some specific value of n in parallel, 'x' may observe a partial copy of 'b'.
Array.h describes itself as "A re-entrant array class". The implementation provides synchronization around array extension, but there is no mechanism to provide synchronization in access to individual array elements for element types that are not single copy atomic.
Consider two threads executing:
a[n] = b and x = a[n]
for some specific value of n in parallel, 'x' may observe a partial copy of 'b'.