Comments (2)
not really:
- freeing memory is not lock-free
- freeing memory needs some safe memory reclamation algorithm like pass the buck or hazard pointers. both are patented.
one could add a method to have an 'unsafe' memory reclamation, which has undefined behavior when multiple threads access the queue, but i'm not a big fan of adding unsafe API as people won't be aware of the consequences.
from lockfree.
Thank you for your reply.
The "request burst" I talking about is not too often, but due to the mass amount lockfree.queue instances I used, I must take care of this.
I have appropriate timing window to shrink the queue (i.e. when I certain it will not accessed by other thread), and it only need to be shrinked after every long period per session, so "freeing memory is not lock-free" is not my problem.
Adding the shrinking API is too difficult for me, so I appreciate if it comes from the author.
Sorry for my poor english~
from lockfree.
Related Issues (20)
- Modular Boost C++ Libraries Request HOT 1
- Lockfree queue delivers data out of order HOT 5
- differering destructor behavior with compile-time size HOT 1
- spsc_queue with compile_time_sized_ringbuffer does not call destructors of remaining queue items when destroyed HOT 3
- compilation error using tagged_ptr_dcas.hpp
- How to contribute code HOT 2
- boost.lockfree tagged_ptr conflict with Hardware-assisted AddressSanitizer(HWASan) from LLVM project HOT 4
- alignment change in 1.77 beta breaks VS 2017 builds HOT 3
- "No constructor could take the source type, or constructor overload resolution was ambiguous" with boost::lockfree::queue::unsynchronized_push
- 1.6.7 lockfree queue, out of order
- Can the Queue be movable? HOT 1
- boost::lockfree queues support r-values and move in push/pop/consume etc? HOT 1
- Lockfree Queue Triggers Thread Sanitizer Data Race Warning HOT 4
- a new lock-free queue HOT 1
- error in tagged_ptr_dcas.hpp about BOOST_ALIGNMENT
- version 1.73 boost::lockfree::queue crash under android 12 when destruct?
- variable-sized queue with a custom allocator is not constructible HOT 1
- Boost CMake testing procedure fails for Lockfree HOT 14
- Reconfiguring with BUILD_TESTING=OFF doesn't disable tests HOT 1
- MacOS: Workaround for extremely slow performance creating lockfree::stack instances (99.999999% for sure a MacOS problem only) HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lockfree.