arc
feature to enable using Engine and other data structures from multiple threads
#142
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
With the
arc
feature,std::sync::Arc
instead of non-atomic reference counters. This allowsEngine
,Value
and other types to be shared across multiple threads. There would still need to be a mutex if amut Engine
needs to be shared across threads.The
arc
feature is turned on by default.The user can choose to:
arc
and use atomic reference counters which might cost a bit of performance. This cost may not matter for many use-cases.arc
and use single threaded reference counters.Engine
andValue
cannot be shared across threads. Values could be converted to json to pass between threads.Also
Engine
debug.