File tree Expand file tree Collapse file tree 1 file changed +12
-7
lines changed Expand file tree Collapse file tree 1 file changed +12
-7
lines changed Original file line number Diff line number Diff line change @@ -65,27 +65,32 @@ def fill_buffer
65
65
fill_buffer
66
66
67
67
t = Thread . new { buffer . put 32 }
68
-
69
- sleep ( 0.1 )
68
+ t . join ( 0.1 )
70
69
71
70
expect ( t . status ) . to eq 'sleep'
72
71
end
73
72
74
73
it 'continues when an element is removed' do
75
74
latch = CountDownLatch . new ( 1 )
76
75
77
- Thread . new { ( capacity + 1 ) . times { buffer . put 'hi' } ; latch . count_down }
78
- Thread . new { sleep ( 0.1 ) ; buffer . take }
76
+ t1 = Thread . new do
77
+ ( capacity + 3 ) . times { buffer . put 'hi' }
78
+ latch . count_down
79
+ end
79
80
80
- expect ( latch . wait ( 0.2 ) ) . to be_truthy
81
+ Thread . new do
82
+ t1 . join ( 0.1 )
83
+ 3 . times { buffer . take }
84
+ end
85
+
86
+ expect ( latch . wait ( 1 ) ) . to be_truthy
81
87
end
82
88
end
83
89
84
90
describe '#take' do
85
91
it 'blocks when buffer is empty' do
86
92
t = Thread . new { buffer . take }
87
-
88
- sleep ( 0.1 )
93
+ t . join ( 0.1 )
89
94
90
95
expect ( t . status ) . to eq 'sleep'
91
96
end
You can’t perform that action at this time.
0 commit comments