Created
September 25, 2015 06:14
-
-
Save davidbegin/4eb619f7863f68a60d4c to your computer and use it in GitHub Desktop.
Thread#kill Thread#raise quiz
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def example_1 | |
clean_env = false | |
t = Thread.new do | |
begin | |
ensure | |
clean_env = true | |
end | |
end | |
t.kill | |
t.join | |
clean_env | |
end | |
def example_2 | |
clean_env = false | |
t = Thread.new do | |
begin | |
ensure | |
sleep 1 | |
clean_env = true | |
end | |
end | |
t.kill | |
t.join | |
clean_env | |
end | |
def example_3 | |
clean_env = false | |
t = Thread.new do | |
begin | |
sleep 1 | |
ensure | |
sleep 1 | |
clean_env = true | |
end | |
end | |
t.kill | |
t.join | |
clean_env | |
end | |
def example_4 | |
clean_env = false | |
t = Thread.new do | |
begin | |
ensure | |
clean_env = true | |
end | |
end | |
t.raise | |
begin | |
t.join | |
rescue | |
end | |
clean_env | |
end | |
def example_5 | |
clean_env = false | |
t = Thread.new do | |
begin | |
ensure | |
sleep 1 | |
clean_env = true | |
end | |
end | |
t.raise | |
begin | |
rescue | |
t.join | |
end | |
clean_env | |
end | |
def example_6 | |
clean_env = false | |
t = Thread.new do | |
begin | |
sleep 1 | |
ensure | |
sleep 1 | |
clean_env = true | |
end | |
end | |
t.raise | |
begin | |
t.join | |
rescue | |
end | |
clean_env | |
end | |
require "minitest/autorun" | |
class ThreadTest < Minitest::Test | |
def test_example_1 | |
assert_equal "choose either true of false", example_1 | |
end | |
def test_example_2 | |
assert_equal "choose either true of false", example_2 | |
end | |
def test_example_3 | |
assert_equal "choose either true of false", example_3 | |
end | |
def test_example_4 | |
assert_equal "choose either true of false", example_4 | |
end | |
def test_example_5 | |
assert_equal "choose either true of false", example_5 | |
end | |
def test_example_6 | |
assert_equal "choose either true of false", example_6 | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment