You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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:
set
map
stack
queue
priority_queue
The text was updated successfully, but these errors were encountered:
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 757282b3838dc3
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.
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: