class ThreadPool extends AnyRef
A thread pool wrapper, provide some helper functions for multi-threading
TODO TreadPool will give 2-version of thread pool, one uses scala version (invokeAndWait),
another is provided to Java (invokeAndWait2). The design is weird. We should refactor this
class later.
- Alphabetic
- By Inheritance
- ThreadPool
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new ThreadPool(poolSize: Int)
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getPoolSize: Int
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
invoke[T](task: () ⇒ T): Future[T]
Invoke a single tasks
-
def
invoke[T](tasks: Seq[() ⇒ T]): Seq[Future[T]]
Invoke a batch of tasks
- def invoke2[T](tasks: Seq[() ⇒ T]): Seq[JavaFuture[T]]
-
def
invokeAndWait[T](tasks: Seq[() ⇒ T], timeout: Duration = Duration.Inf): Seq[T]
Invoke a batch of tasks and wait for all them finished
-
def
invokeAndWait2[T](tasks: Seq[() ⇒ T], timeout: Long = Long.MaxValue, timeUnit: TimeUnit = TimeUnit.NANOSECONDS): Buffer[JavaFuture[T]]
Use java future to execute the tasks.
Use java future to execute the tasks. It will be blocking until tasks completed. If any task throws an exception, it will throw that exception in caller.
- T
return type of tasks
- tasks
task sequence. each task's return type is T
- timeout
the maximum time to wait
- timeUnit
the time unit for the timeout
- returns
a sequence of Futures representing the tasks.
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
setMKLThread(size: Int): ThreadPool.this.type
Set MKL thread pool size
- def setMKLThreadOfMklDnnBackend(size: Int): ThreadPool.this.type
-
def
setPoolSize(size: Int): ThreadPool.this.type
Set pool size
-
def
sync(futures: Seq[Future[_]], timeout: Duration = Duration.Inf): Unit
Wait for all the tasks in the wait queue finish
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )