From 40c38a5dab4f65ac78d349e4bc263680506ec375 Mon Sep 17 00:00:00 2001 From: Simon Cruanes Date: Mon, 25 Jan 2016 17:16:58 +0100 Subject: [PATCH] add `CCThread.spawn{1,2}` --- src/threads/CCThread.ml | 4 ++++ src/threads/CCThread.mli | 10 +++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/threads/CCThread.ml b/src/threads/CCThread.ml index b43104cd..521ee928 100644 --- a/src/threads/CCThread.ml +++ b/src/threads/CCThread.ml @@ -6,6 +6,10 @@ type t = Thread.t let spawn f = Thread.create f () +let spawn1 f x = Thread.create f x + +let spawn2 f x y = Thread.create (fun () -> f x y) () + let detach f = ignore (Thread.create f ()) module Arr = struct diff --git a/src/threads/CCThread.mli b/src/threads/CCThread.mli index 7c38e9a7..1ea3ff8a 100644 --- a/src/threads/CCThread.mli +++ b/src/threads/CCThread.mli @@ -7,9 +7,17 @@ type t = Thread.t -val spawn : (unit -> 'a) -> t +val spawn : (unit -> _) -> t (** [spawn f] creates a new thread that runs [f ()] *) +val spawn1 : ('a -> _) -> 'a -> t +(** [spawn1 f x] is like [spawn (fun () -> f x)]. + @since NEXT_RELEASE *) + +val spawn2 : ('a -> 'b -> _) -> 'a -> 'b -> t +(** [spawn2 f x y] is like [spawn (fun () -> f x y)]. + @since NEXT_RELEASE *) + val detach : (unit -> 'a) -> unit (** [detach f] is the same as [ignore (spawn f)] *)