-
Notifications
You must be signed in to change notification settings - Fork 99
Open
Description
Related: #45
Consider the plain ruby memoization pattern:
def foo
@foo ||= (...)
endThis looks thread-unsafe, because two concurrent threads which call foo for the first time at the same time could trigger the code in (...). Only one would 'win', and everything would normally from then on, but (...) has been called twice.
If that was an expensive operation, it would have been called twice (suboptimal). If it was an operation with side-effects, we might encounter actual problems.
From my understanding of memoist.rb, this doesn't seem prevented at all.
What do you think - is there room for improvement here?
Cheers - Victor
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels