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
Currently, the crossbeam crate provides the Treiber stack. In order for crossbeam to be backward-compatible as much as possible, when we're rebasing it on top of crossbeam-epoch, I think we need to implement crossbeam-stack.
It can be just the Treiber stack at first, but maybe in the future, we want to implement the elimination-backoff stack or another more advanced stacks. For now, we can just copy-and-paste the code from crossbeam or coco.
The text was updated successfully, but these errors were encountered:
I'm in favor of moving the stack into crossbeam-stack. I'd also suggest doing some research and writing simple a RFC for it, which should answer the following questions:
In what situations is concurrent stack a useful data structure? How are concurrent stacks typically used, not just in Rust but in other languages as well?
What are examples of implementations of concurrent stacks in other languages?
What methods should a concurrent stack have?
Here are some additional methods I've thought of that might be useful to have in a lock-free stack:
However this is a very low-level and customized implementation and it wouldn't make sense to use a generic data structure implementation from crossbeam there.
Currently, the
crossbeam
crate provides the Treiber stack. In order forcrossbeam
to be backward-compatible as much as possible, when we're rebasing it on top ofcrossbeam-epoch
, I think we need to implementcrossbeam-stack
.It can be just the Treiber stack at first, but maybe in the future, we want to implement the elimination-backoff stack or another more advanced stacks. For now, we can just copy-and-paste the code from
crossbeam
orcoco
.The text was updated successfully, but these errors were encountered: