projects:libcds:bounded_pool
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
projects:libcds:bounded_pool [2015/12/10 15:33] – khizmax | projects:libcds:bounded_pool [2015/12/17 11:25] – khizmax | ||
---|---|---|---|
Line 20: | Line 20: | ||
В настоящее время (libcds 2.1.0) в качестве пула в библиотеке используется [[http:// | В настоящее время (libcds 2.1.0) в качестве пула в библиотеке используется [[http:// | ||
bounded очереди Дмитрия Вьюкова. | bounded очереди Дмитрия Вьюкова. | ||
- | Он быстр, но имеет один существенный недостаток — иногда | + | Он быстр, но имеет один существенный недостаток — он не является линеаризуемым: |
при почти полной очереди '' | при почти полной очереди '' | ||
То есть эта очередь не может стабильно работать в режиме «пул полон». | То есть эта очередь не может стабильно работать в режиме «пул полон». | ||
Line 26: | Line 26: | ||
**Требуется**: | **Требуется**: | ||
- | < | + | < |
template < | template < | ||
class Pool | class Pool | ||
Line 41: | Line 41: | ||
}; | }; | ||
</ | </ | ||
+ | Методы '' | ||
**Критерий корректности**: | **Критерий корректности**: | ||
- | < | + | < |
Pool< | Pool< | ||
std:: | std:: | ||
std:: | std:: | ||
- | void thread() | + | void thread_func() |
{ | { | ||
for ( int i = 1; i <= 1000000; ++i ) { | for ( int i = 1; i <= 1000000; ++i ) { |
projects/libcds/bounded_pool.txt · Last modified: 2015/12/17 23:11 by khizmax