Skip to content

Commit 495e5e6

Browse files
committed
Allow benchmarking of ThreadLocalVar
1 parent dc87b3d commit 495e5e6

File tree

1 file changed

+11
-9
lines changed

1 file changed

+11
-9
lines changed

lib/concurrent/atomic/thread_local_var.rb

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -73,18 +73,10 @@ def set(value)
7373

7474
end
7575

76-
class ThreadLocalVar
76+
class AbstractThreadLocalVar
7777

7878
NIL_SENTINEL = Object.new
7979

80-
if RUBY_PLATFORM == 'java'
81-
include ThreadLocalJavaStorage
82-
elsif Thread.current.respond_to?(:thread_variable_set)
83-
include ThreadLocalNewStorage
84-
else
85-
include ThreadLocalOldStorage
86-
end
87-
8880
def initialize(default = nil)
8981
@default = default
9082
allocate_storage
@@ -116,4 +108,14 @@ def value=(value)
116108

117109
end
118110

111+
class ThreadLocalVar < AbstractThreadLocalVar
112+
if RUBY_PLATFORM == 'java'
113+
include ThreadLocalJavaStorage
114+
elsif Thread.current.respond_to?(:thread_variable_set)
115+
include ThreadLocalNewStorage
116+
else
117+
include ThreadLocalOldStorage
118+
end
119+
end
120+
119121
end

0 commit comments

Comments
 (0)