src/Pure/ML-Systems/multithreading.ML
changeset 54717 42c209a6c225
parent 43761 e72ba84ae58f
child 59054 61b723761dff
equal deleted inserted replaced
54713:6666fc0b9ebc 54717:42c209a6c225
    12 
    12 
    13 signature MULTITHREADING =
    13 signature MULTITHREADING =
    14 sig
    14 sig
    15   include BASIC_MULTITHREADING
    15   include BASIC_MULTITHREADING
    16   val available: bool
    16   val available: bool
    17   val max_threads: int ref
       
    18   val max_threads_value: unit -> int
    17   val max_threads_value: unit -> int
       
    18   val max_threads_update: int -> unit
       
    19   val max_threads_setmp: int -> ('a -> 'b) -> 'a -> 'b
    19   val enabled: unit -> bool
    20   val enabled: unit -> bool
    20   val no_interrupts: Thread.threadAttribute list
    21   val no_interrupts: Thread.threadAttribute list
    21   val public_interrupts: Thread.threadAttribute list
    22   val public_interrupts: Thread.threadAttribute list
    22   val private_interrupts: Thread.threadAttribute list
    23   val private_interrupts: Thread.threadAttribute list
    23   val sync_interrupts: Thread.threadAttribute list -> Thread.threadAttribute list
    24   val sync_interrupts: Thread.threadAttribute list -> Thread.threadAttribute list
    37 struct
    38 struct
    38 
    39 
    39 (* options *)
    40 (* options *)
    40 
    41 
    41 val available = false;
    42 val available = false;
    42 val max_threads = ref (1: int);
       
    43 fun max_threads_value () = 1: int;
    43 fun max_threads_value () = 1: int;
       
    44 fun max_threads_update _ = ();
       
    45 fun max_threads_setmp _ f x = f x;
    44 fun enabled () = false;
    46 fun enabled () = false;
    45 
    47 
    46 
    48 
    47 (* attributes *)
    49 (* attributes *)
    48 
    50