class type parallelizer =object..end
method ptype : parallelization_type
method init : unit -> unitInitializes the main process for usage with this parallelizer. This method must not be called outside the internal Netplex implementation!
method start_thread : (par_thread -> unit) ->
Unix.file_descr list ->
Unix.file_descr list ->
string -> logger -> par_threadstart_thread f l_close l_share name logger:
Starts a new thread or process and calls
f thread in that context. Before this is done, file descriptors
are closed, controlled by the parameters l_close and l_share.
The descriptors in l_close are always closed. The descriptors
in l_share are not closed. The implementation of the parallelizer
is free to close a reasonable set of descriptors, and l_close
is the minimum, and all - l_share is the maximum.
There is no way to check when the thread terminates.
It is allowed that the par_thread object passed to f is a different
object as the returned par_thread object.
method create_mem_mutex : unit -> (unit -> unit) * (unit -> unit)let lock, unlock = par#create_mem_locker(): Creates a mutex that
is sufficient to protect process memory from uncoordinated access.
The function lock obtains the lock, and unlock releases it.
method current_sys_id : [ `Process of int | `Thread of int ]Returns the system-dependent thread identifier of the caller