the is threaded annotation makes this method run on an other thread

Property definitions

pthreads :: threaded_example $ Sys :: foo
# the `is threaded` annotation makes this method run on an other thread
fun foo is threaded do
	sys.nanosleep(1,0)
	print "threaded"
end

# Parameterized `threaded` method, same as foo, but with parameters
fun bar(i : Int, s : String) is threaded do
	sys.nanosleep(2, 0)
	print i
	print s
end

# Parameterized `threaded` method with a return type
fun baz(i : Int, j : Int): Int is threaded do
	sys.nanosleep(10, 0)
	return i + j
end

print "main"
foo
bar(10, "parameterized and threaded")
sys.nanosleep(5,0)
var x  = baz(2, 3)
print "main, waiting for baz"
var y = x.join
print("baz result : " + y.to_s)

lib/pthreads/examples/threaded_example.nit:22,1--26,3