-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Blocking data structures #21
Comments
Comments from JIRA: Some of the structures of the std library, namely stacks, queues, priority_queues, rely on a SequenceContainer (e.g. std::vector) for the internal representation of the object. If all of those containers make use of dynamic memory allocation it might be necessary to implement those data structures from scratch. I have already done that for stacks and queues. I agree, memory allocation is an issue here. Needs further discussion and decision regarding what will be implemented and how the naming of the containers is. I merged all the branches of the subtickets into embb499_blocking_data_structures. See 757282b 3838dc3 Usually, a range is sufficient, however here we have a tree, e.g., commit 863eac has parents c511228 and c21ffa7 Please give a list of commits. See: |
Maybe you have a look at Boost.Intrusive: http://www.boost.org/doc/libs/1_64_0/doc/html/intrusive.html Does it really make sense to simply wrap a lock around the container? Normally, you have the containers with additional state which needs also protection. |
Many users need concurrent data structures but not necessarily lock-free or wait-free ones (which are already available in EMB²). For example, if an application is not timing critical, blocking data structures might be beneficial w.r.t memory consumption and context switching. Implement thread-safe wrappers for the following data structures provided by the standard library:
The text was updated successfully, but these errors were encountered: