Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let rec factorial(n : int) (mem : bigint) =
- match n with
- | 0 | 1 -> printfn "%A" mem
- | _ -> factorial (n - 1) (mem * bigint(n))
- let BigFactorial(numero,mesaje)=
- Async.FromContinuations(fun (cont,error,cancelation) ->
- printfn "begin number: %s" mesaje
- factorial numero 1I |>ignore
- printfn "begin number: %s ." mesaje
- cont())
- //this doesn't works in async way...I get the 30M result first and then run the 10M
- Async.RunSynchronously(async{
- printfn "Start!!..."
- do! BigFactorial(30000,"30M")
- do! BigFactorial(10000, "10M")
- printfn "End!!..."
- })
- //this works nicely
- let task1 = async{
- printfn "begin"
- do! BigFactorial(30000,"30")
- printfn "end..."
- }
- let task2 = async{
- printfn "begin"
- do! BigFactorial(10000,"10")
- printfn "end!!..."
- }
- Async.RunSynchronously(Async.Parallel[task1;task2])
Add Comment
Please, Sign In to add comment