src/Pure/ML-Systems/multithreading.ML
changeset 32185 57ecfab3bcfe
parent 32184 cfa0ef0c0c5f
child 32186 8026b73cd357
equal deleted inserted replaced
32184:cfa0ef0c0c5f 32185:57ecfab3bcfe
    14 sig
    14 sig
    15   include BASIC_MULTITHREADING
    15   include BASIC_MULTITHREADING
    16   val trace: int ref
    16   val trace: int ref
    17   val tracing: int -> (unit -> string) -> unit
    17   val tracing: int -> (unit -> string) -> unit
    18   val tracing_time: Time.time -> (unit -> string) -> unit
    18   val tracing_time: Time.time -> (unit -> string) -> unit
       
    19   val real_time: ('a -> unit) -> 'a -> Time.time
    19   val available: bool
    20   val available: bool
    20   val max_threads: int ref
    21   val max_threads: int ref
    21   val max_threads_value: unit -> int
    22   val max_threads_value: unit -> int
    22   val enabled: unit -> bool
    23   val enabled: unit -> bool
    23   val no_interrupts: Thread.threadAttribute list
    24   val no_interrupts: Thread.threadAttribute list
    30 end;
    31 end;
    31 
    32 
    32 structure Multithreading: MULTITHREADING =
    33 structure Multithreading: MULTITHREADING =
    33 struct
    34 struct
    34 
    35 
    35 (* options *)
    36 (* tracing *)
    36 
    37 
    37 val trace = ref (0: int);
    38 val trace = ref (0: int);
    38 fun tracing _ _ = ();
    39 fun tracing _ _ = ();
    39 fun tracing_time _ _ = ();
    40 fun tracing_time _ _ = ();
       
    41 fun real_time f x = (f x; Time.zeroTime);
       
    42 
       
    43 
       
    44 (* options *)
    40 
    45 
    41 val available = false;
    46 val available = false;
    42 val max_threads = ref (1: int);
    47 val max_threads = ref (1: int);
    43 fun max_threads_value () = 1: int;
    48 fun max_threads_value () = 1: int;
    44 fun enabled () = false;
    49 fun enabled () = false;