computablee / DotMP

A collection of powerful abstractions for parallel programming in .NET with an OpenMP-like API.
https://computablee.github.io/DotMP/
GNU Lesser General Public License v2.1
29 stars 7 forks source link

Change locking API to be more object-oriented #43

Closed computablee closed 1 year ago

computablee commented 1 year ago

Currently, the locking API is in a weird transition state after merging the DotMP.Lock and DotMP.Locking classes. Right now, the way that locks are used are by instantiating a Lock object, then passing them to DotMP.Lock static methods.

This is not elegant, and locking should be accomplished by calling methods on the Lock object. I anticipate this will only be a matter of removing the static keywords from the Set, Unset, and Test methods, altering the methods to work on this._lock instead of a passed Lock object, and modifying all associated documentation (including the README).

HarryHeres commented 1 year ago

Hi! I’m a CS graduate doing masters now and part of that is also a parallel programming course. Your repo seems quite interesting, got experience with Java and C++, so I believe I could be of help. Would like to start with something easier and this seems like a good fit to get into the codebase. Can I try to take care of this?

computablee commented 1 year ago

@HarryHeres sure, I'll assign you to this issue.

HarryHeres commented 1 year ago

Awesome, thanks! Will try to get to this during this week

HarryHeres commented 1 year ago

@computablee From which branch would you like me to fork? Haven’t found any “refactor” branch.

computablee commented 1 year ago

@HarryHeres Just fork main, that will be fine.

HarryHeres commented 1 year ago

Okay, thanks :)

computablee commented 1 year ago

Completed with #61