equal
deleted
inserted
replaced
16 include BASIC_MULTITHREADING |
16 include BASIC_MULTITHREADING |
17 val trace: int ref |
17 val trace: int ref |
18 val tracing: int -> (unit -> string) -> unit |
18 val tracing: int -> (unit -> string) -> unit |
19 val available: bool |
19 val available: bool |
20 val max_threads: int ref |
20 val max_threads: int ref |
|
21 val max_threads_value: unit -> int |
21 val self_critical: unit -> bool |
22 val self_critical: unit -> bool |
22 datatype 'a task = |
23 datatype 'a task = |
23 Task of {body: unit -> unit, cont: 'a -> 'a, fail: 'a -> 'a} | Wait | Terminate; |
24 Task of {body: unit -> unit, cont: 'a -> 'a, fail: 'a -> 'a} | Wait | Terminate; |
24 val schedule: int -> ('a -> 'a task * 'a) -> 'a -> exn list |
25 val schedule: int -> ('a -> 'a task * 'a) -> 'a -> exn list |
25 val serial: unit -> int |
26 val serial: unit -> int |
35 val trace = ref (0: int); |
36 val trace = ref (0: int); |
36 fun tracing _ _ = (); |
37 fun tracing _ _ = (); |
37 |
38 |
38 val available = false; |
39 val available = false; |
39 val max_threads = ref (1: int); |
40 val max_threads = ref (1: int); |
|
41 fun max_threads_value () = Int.max (! max_threads, 1); |
40 |
42 |
41 |
43 |
42 (* critical section *) |
44 (* critical section *) |
43 |
45 |
44 fun self_critical () = false; |
46 fun self_critical () = false; |