Changement pour hugo
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 144 KiB |
|
After Width: | Height: | Size: 166 KiB |
|
After Width: | Height: | Size: 130 KiB |
|
After Width: | Height: | Size: 149 KiB |
|
After Width: | Height: | Size: 131 KiB |
|
After Width: | Height: | Size: 79 KiB |
|
After Width: | Height: | Size: 124 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 129 KiB |
|
After Width: | Height: | Size: 90 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 172 KiB |
|
After Width: | Height: | Size: 189 KiB |
|
After Width: | Height: | Size: 198 KiB |
|
After Width: | Height: | Size: 137 KiB |
|
After Width: | Height: | Size: 148 KiB |
|
After Width: | Height: | Size: 98 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 69 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 86 KiB |
|
After Width: | Height: | Size: 89 KiB |
|
After Width: | Height: | Size: 9.0 KiB |
|
After Width: | Height: | Size: 87 B |
|
After Width: | Height: | Size: 136 KiB |
|
After Width: | Height: | Size: 154 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 62 KiB |
|
After Width: | Height: | Size: 53 KiB |
|
After Width: | Height: | Size: 122 KiB |
|
After Width: | Height: | Size: 68 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 155 KiB |
|
After Width: | Height: | Size: 47 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 92 KiB |
|
After Width: | Height: | Size: 75 KiB |
|
After Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 202 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 62 KiB |
@@ -0,0 +1,40 @@
|
||||
require 'test/unit'
|
||||
|
||||
DUCK="duck"
|
||||
ELEPHANT="elephant"
|
||||
SNAKE="snake"
|
||||
FILE="test_file"
|
||||
|
||||
class TestFileConcurrencyAccess < Test::Unit::TestCase
|
||||
def test_concurrency_access
|
||||
t1 = Thread.start do
|
||||
File.open(FILE, "w") do |file|
|
||||
file.puts SNAKE
|
||||
file.flush
|
||||
sleep 8
|
||||
file.puts DUCK
|
||||
end
|
||||
end
|
||||
File.open(FILE,"r") do |f1|
|
||||
assert SNAKE, f1.read
|
||||
end
|
||||
t2 = Thread.start do
|
||||
File.open(FILE,"w") do |f|
|
||||
sleep 2
|
||||
f.puts ELEPHANT
|
||||
end
|
||||
end
|
||||
t2.join
|
||||
File.open(FILE,"r") do |f2|
|
||||
assert ELEPHANT, f2.read
|
||||
end
|
||||
|
||||
t1.join
|
||||
File.open(FILE,"r") do |f3|
|
||||
assert SNAKE, f3.readline
|
||||
assert DUCK, f3.readline
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
|
After Width: | Height: | Size: 66 KiB |
|
After Width: | Height: | Size: 53 KiB |
@@ -0,0 +1,7 @@
|
||||
|
||||
ELEPHANT="elephant"
|
||||
FILE="test_file"
|
||||
|
||||
File.open(FILE,"w") do |f|
|
||||
f.puts ELEPHANT
|
||||
end
|
||||
@@ -0,0 +1,12 @@
|
||||
|
||||
DUCK="duck"
|
||||
ELEPHANT="elephant"
|
||||
SNAKE="snake"
|
||||
FILE="test_file"
|
||||
|
||||
File.open(FILE, "w") do |file|
|
||||
file.puts SNAKE
|
||||
file.flush
|
||||
sleep 5
|
||||
file.puts DUCK
|
||||
end
|
||||
|
After Width: | Height: | Size: 91 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 94 KiB |