30 lines
620 B
Text
30 lines
620 B
Text
constant lock = init_cs()
|
|
include timedate.e
|
|
|
|
procedure showtime()
|
|
puts(1,format_timedate(date()," h:m:s\n"))
|
|
end procedure
|
|
|
|
procedure echo(string s)
|
|
sleep(rnd()/10) -- see note
|
|
enter_cs(lock)
|
|
puts(1,s)
|
|
sleep(1)
|
|
showtime()
|
|
leave_cs(lock)
|
|
end procedure
|
|
|
|
procedure main()
|
|
enter_cs(lock)
|
|
sequence threads = {create_thread(routine_id("echo"),{"job1"}),
|
|
create_thread(routine_id("echo"),{"job2"})}
|
|
puts(1,"main")
|
|
showtime()
|
|
sleep(1)
|
|
puts(1,"free")
|
|
showtime()
|
|
leave_cs(lock)
|
|
wait_thread(threads)
|
|
puts(1,"done\n")
|
|
end procedure
|
|
main()
|