Sorting algorithms/Sleep sort: Difference between revisions

m
No edit summary
Line 364:
The following solution only works in Unicon.
 
<lang unicon>globalprocedure tmain(A)
every insert(t:=set(),mkThread(t,!A))
 
procedure main(A)
t := set()
every insert(t,mkThread(!A))
every spawn(!t) # start threads as closely grouped as possible
while (*t > 0) do write(<<@)
end
 
procedure mkThread(t,n) # 10ms delay scale factor
return create (delay(n*10),delete(t,&current),n@>&main)
end</lang>