sig
  type t = java'util'concurrent'ForkJoinPool java_instance
  val make : ?parallelism:java_int -> bool -> ForkJoinPool.t
  val await_termination : ForkJoinPool.t -> java_long -> TimeUnit.t -> bool
  val get_active_thread_count : ForkJoinPool.t -> java_int
  val get_async_mode : ForkJoinPool.t -> bool
  val get_parallelism : ForkJoinPool.t -> java_int
  val get_pool_size : ForkJoinPool.t -> java_int
  val get_queued_submission_count : ForkJoinPool.t -> java_int
  val get_queued_task_count : ForkJoinPool.t -> java_long
  val get_running_thread_count : ForkJoinPool.t -> java_int
  val get_steal_count : ForkJoinPool.t -> java_long
  val has_queued_submissions : ForkJoinPool.t -> bool
  val is_quiescent : ForkJoinPool.t -> bool
  val is_shutdown : ForkJoinPool.t -> bool
  val is_terminated : ForkJoinPool.t -> bool
  val is_terminating : ForkJoinPool.t -> bool
  val shutdown : ForkJoinPool.t -> unit
  val shutdown_now : ForkJoinPool.t -> unit
  val null : ForkJoinPool.t
  external is_null : ForkJoinPool.t -> bool = "java is_null"
  external is_not_null : ForkJoinPool.t -> bool = "java is_not_null"
  val wrap : ForkJoinPool.t -> ForkJoinPool.t option
  val unwrap : ForkJoinPool.t option -> ForkJoinPool.t
end