Luv.Thread
Threads.
See Threads in the user guide and Threading and synchronization utilities in libuv.
Binds uv_thread_t
.
val self : unit -> t
Returns the representation of the calling thread.
Binds uv_thread_self
. See pthread_self(3p)
.
Compares two thread values for equality.
Binds uv_thread_equal
. See pthread_equal(3p)
.
Starts a new thread, which will run the given function.
Binds uv_thread_create
. See pthread_create(3p)
.
?stack_size
does nothing on libuv prior to 1.26.0.
Feature check: Luv.Require.(has thread_stack_size)
Like Luv.Thread.create
, but runs a C function by pointer.
The C function should have signature (*)(void*)
. The default value of ?argument
is NULL
(0).
?stack_size
does nothing on libuv prior to 1.26.0.
Feature check: Luv.Require.(has thread_stack_size)
Waits for the given thread to terminate.
Binds uv_thread_join
. See pthread_join(3p)
.
module Priority : sig ... end
Constants for use with Luv.Thread.setpriority
.
val setpriority : t -> Priority.t -> (unit, Error.t) Stdlib.result
Sets the given thread's priority.
Binds uv_thread_setpriority
. See setpriority(3p)
.
Requires Luv 0.5.13 and libuv 1.48.0.
Feature check: Luv.Require.(has setpriority)
Gets the given thread's priority.
Binds uv_thread_getpriority
. See getpriority(3p)
.
Requires Luv 0.5.13 and libuv 1.48.0.
Feature check: Luv.Require.(has getpriority)
Sets the thread's processor affinity mask.
Binds uv_thread_setaffinity
. See pthread_setaffinity_np(3)
and SetProcessAffinityMask
.
See Luv.System_info.cpumask_size
.
Requires Luv 0.5.13 and libuv 1.45.0.
Feature check: Luv.Require.(has setaffinity)
Gets the thread's processor affinity mask.
Binds uv_thread_getaffinity
. See pthread_setaffinity_np(3)
and GetProcessAffinityMask
.
See Luv.System_info.cpumask_size
.
Requires Luv 0.5.13 and libuv 1.45.0.
Feature check: Luv.Require.(has getaffinity)
val getcpu : unit -> (int, Error.t) Stdlib.result
Returns the number of the CPU on which the calling thread is running.
Binds uv_thread_getcpu
.
Requires Luv 0.5.13 and libuv 1.45.0.
Feature check: Luv.Require.(has getcpu)