Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,23 @@
|
|||
structure TTd = Thread.Thread ;
|
||||
structure TTm = Thread.Mutex ;
|
||||
|
||||
val threadedStringList = fn tasks:string list =>
|
||||
let
|
||||
val mx = TTm.mutex () ;
|
||||
val taskstore = ref tasks ;
|
||||
fun makeFastRand () = Real.rem (Time.toReal (Time.now ()),1.0)
|
||||
val doTask = fn () =>
|
||||
let
|
||||
val mytask : string ref = ref "" ;
|
||||
in
|
||||
( TTm.lock mx ; mytask := hd ( !taskstore ) ; taskstore:= tl (!taskstore) ; TTm.unlock mx ;
|
||||
Posix.Process.sleep (Time.fromReal (makeFastRand ())) ;
|
||||
TTm.lock mx ; print ( !mytask ^ "\n") ; TTm.unlock mx ;
|
||||
TTd.exit ()
|
||||
)
|
||||
end
|
||||
in
|
||||
|
||||
List.tabulate ( length tasks , fn i => TTd.fork (doTask , []) )
|
||||
|
||||
end ;
|
||||
Loading…
Add table
Add a link
Reference in a new issue