Ticket #2431: interprocess.patch
File interprocess.patch, 2.7 KB (added by , 14 years ago) |
---|
-
libs/interprocess/doc/interprocess.qbk
1516 1516 can do two things: 1517 1517 1518 1518 * [*wait]: The thread is blocked until some other thread notifies that it can 1519 continue because the condition that lead to waiting has disap eared.1519 continue because the condition that lead to waiting has disappeared. 1520 1520 1521 1521 * [*notify]: The thread sends a signal to one blocked thread or to all blocked 1522 1522 threads to tell them that they the condition that provoked their wait has 1523 disap eared.1523 disappeared. 1524 1524 1525 1525 Waiting in a condition variable is always associated with a mutex. 1526 1526 The mutex must be locked prior to waiting on the condition. When waiting … … 2178 2178 A lock transfer operations explicitly indicates that a mutex owned by a lock is 2179 2179 transferred to another lock executing atomic unlocking plus locking operations. 2180 2180 2181 [section:lock_tr nasfer_simple_transfer Simple Lock Transfer]2181 [section:lock_transfer_simple_transfer Simple Lock Transfer] 2182 2182 2183 2183 Imagine that a thread modifies some data in the beginning but after that, it has to 2184 2184 just read it in a long time. The code can acquire the exclusive lock, modify the data … … 3668 3668 As mentioned, the managed segment stores the information about named and unique 3669 3669 objects in two indexes. Depending on the type of those indexes, the index must 3670 3670 reallocate some auxiliary structures when new named or unique allocations are made. 3671 For some indexes, if the user knows how many maned or unique objects isgoing to3672 createit's possible to preallocate some structures to obtain much better3673 performance (if the index is an ordered vector it can preallocate memory to avoid3674 reallocations , if the index is a hash structure it can preallocate the bucket array...).3671 For some indexes, if the user knows how many named or unique objects are going to 3672 be created, it's possible to preallocate some structures to obtain much better 3673 performance. (If the index is an ordered vector it can preallocate memory to avoid 3674 reallocations. If the index is a hash structure it can preallocate the bucket array.) 3675 3675 3676 3676 The following functions reserve memory to make the subsequent allocation of 3677 3677 named or unique objects more efficient. These functions are only useful for … … 5671 5671 [section:basic_guidelines Basic guidelines] 5672 5672 5673 5673 When building [*Boost.Interprocess] architecture, I took some basic guidelines that can be 5674 resumed inthese points:5674 summarized by these points: 5675 5675 5676 5676 * [*Boost.Interprocess] should be portable at least in UNIX and Windows systems. That 5677 5677 means unifying not only interfaces but also behaviour. This is why