Skip to content

LockFreeLinkedSet: add initial implementation #335

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

Merged
merged 5 commits into from
Jul 8, 2015

Conversation

ianks
Copy link
Contributor

@ianks ianks commented Jun 8, 2015

This PR adds a lock-free set, implemented as a link list. This data-structure is neccesary as a building block for a lock-free concurrent hash table/cache. The only difference is that in a concurrent hash-table, I was use split-ordering on the nodes in the linked list instead ordering the items based on their hash value.

As always, fire away on comments and potential refactorings! Always looking to improve my code.

@jdantonio jdantonio added this to the 1.0.0 Release milestone Jun 9, 2015
@jdantonio jdantonio added enhancement Adding features, adding tests, improving documentation. in progress labels Jun 9, 2015
@jdantonio
Copy link
Member

@ianks If you don't mind, I'd like to wait until the full release of 0.9 to merge this.


module Concurrent
module Edge
class LockFreeLinkedSet
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you include short description of the class and if possible a link to your source of the algorithm?

@pitr-ch
Copy link
Member

pitr-ch commented Jun 20, 2015

And thank you for your great contributions!

@ianks ianks force-pushed the lock-free-linked-set branch from c61b284 to 10ddb2a Compare July 6, 2015 03:09
@ianks
Copy link
Contributor Author

ianks commented Jul 6, 2015

@pitr-ch @jdantonio

I have addressed the comments on the PR. Let me know if anything else is needed! 😄

jdantonio added a commit that referenced this pull request Jul 8, 2015
LockFreeLinkedSet: add initial implementation
@jdantonio jdantonio merged commit 4ce3c14 into ruby-concurrency:master Jul 8, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Adding features, adding tests, improving documentation.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants