diamondback:Only showing information from the released package extracted on Unknown. No API documentation available. Please see this page for information on how to submit your repository to our index.
electric:Documentation generated on March 02, 2013 at 01:21 PM
fuerte:Documentation generated on December 28, 2013 at 05:34 PM
groovy:Documentation generated on October 06, 2014 at 06:54 AM
hydro:Documentation generated on August 26, 2015 at 04:00 PM (doc job).
indigo:Documentation generated on June 09, 2019 at 04:32 AM (doc job).
kinetic:Documentation generated on June 10, 2019 at 10:38 PM (doc job).
lunar:Documentation generated on April 05, 2019 at 10:12 AM (doc job).
melodic:Documentation generated on March 01, 2022 at 07:27 AM (doc job).
noetic:Documentation generated on March 02, 2022 at 08:51 AM (doc job).
The lockfree package contains lock-free data structures for use in multithreaded programming. These
kinds of data structures are generally not as easy to use as single-threaded equivalents, and are not
always faster. If you don't know you need to use one, try another structure with a lock around it
first.
The lockfree package contains lock-free data structures for use in multithreaded programming. These
kinds of data structures are generally not as easy to use as single-threaded equivalents, and are not
always faster. If you don't know you need to use one, try another structure with a lock around it
first.
The lockfree package contains lock-free data structures for use in multithreaded programming. These
kinds of data structures are generally not as easy to use as single-threaded equivalents, and are not
always faster. If you don't know you need to use one, try another structure with a lock around it
first.
The lockfree package contains lock-free data structures for use in multithreaded programming. These
kinds of data structures are generally not as easy to use as single-threaded equivalents, and are not
always faster. If you don't know you need to use one, try another structure with a lock around it
first.
The lockfree package contains lock-free data structures for use in multithreaded programming. These
kinds of data structures are generally not as easy to use as single-threaded equivalents, and are not
always faster. If you don't know you need to use one, try another structure with a lock around it
first.
Maintainer status: maintained
Maintainer: Devon Ash <dash AT clearpathrobotics DOT com>
The lockfree package contains lock-free data structures for use in multithreaded programming. These
kinds of data structures are generally not as easy to use as single-threaded equivalents, and are not
always faster. If you don't know you need to use one, try another structure with a lock around it
first.
Maintainer status: maintained
Maintainer: Devon Ash <dash AT clearpathrobotics DOT com>
The lockfree package contains lock-free data structures for use in multithreaded programming. These
kinds of data structures are generally not as easy to use as single-threaded equivalents, and are not
always faster. If you don't know you need to use one, try another structure with a lock around it
first.
Maintainer status: unmaintained
Maintainer: Devon Ash <dash AT clearpathrobotics DOT com>
The lockfree package contains lock-free data structures for use in multithreaded programming. These
kinds of data structures are generally not as easy to use as single-threaded equivalents, and are not
always faster. If you don't know you need to use one, try another structure with a lock around it
first.
Maintainer status: unmaintained
Maintainer: Devon Ash <dash AT clearpathrobotics DOT com>
The lockfree package contains lock-free data structures for use in multithreaded programming. These
kinds of data structures are generally not as easy to use as single-threaded equivalents, and are not
always faster. If you don't know you need to use one, try another structure with a lock around it
first.
Maintainer status: unmaintained
Maintainer: Devon Ash <dash AT clearpathrobotics DOT com>
The lockfree package contains lock-free data structures for use in multithreaded programming. These
kinds of data structures are generally not as easy to use as single-threaded equivalents, and are not
always faster. If you don't know you need to use one, try another structure with a lock around it
first.
Maintainer status: maintained
Maintainer: Devon Ash <dash AT clearpathrobotics DOT com>
The FreeList class provides a fixed number of fixed-size blocks that you can allocate and free from multiple threads. FreeList is lock-free but not wait-free.
1// Create a free list with 100 128-byte blocks 2FreeListfree_list(128, 100); 3void* mem = free_list.allocate(); 4 5if (mem) 6{ 7 ... 8 9free_list.free(mem); 10}
ObjectPool<T>
While the FreeList class simply provides allocation of specific-sized blocks of memory, the ObjectPool class builds on top of that to provide allocation of specific object types, initialized using a template object. It also allows you to allocate either boost::shared_ptrs or bare pointers, depending on your needs. ObjectPool is lock-free but not wait-free.
1structFoo 2{ 3std::vector<uint32_t> bar; 4}; 5 6// Create a template object. All objects in the pool will start initialized to this value. 7// In realtime systems, for example, this lets you preallocate any vectors/strings/etc. 8Footemplate_object; 9template_object.bar.resize(100); 10 11// Construct a pool of 5 objects 12ObjectPool<Foo> pool(5, template_object); 13 14boost::shared_ptr<Foo> inst1 = pool.allocate(); 15if (inst1) 16{ 17 ... 18} 19 20Foo* inst2 = pool.allocateBare(); 21if (inst2) 22{ 23 ... 24pool.freeBare(inst2); 25}