|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
public interface ThreadService
Interface for the thread handling service.
| Nested Class Summary | |
|---|---|
static class |
ThreadService.ThreadContext
|
| Method Summary | ||
|---|---|---|
ExecutorService |
getExecutorService()
Gets the ExecutorService object used when run(java.util.concurrent.Callable is called. |
|
Thread |
getParent(Thread thread)
Returns the thread that called the specified thread. |
|
ThreadService.ThreadContext |
getThreadContext(Thread thread)
Analyzes the ThreadService.ThreadContext of the given thread. |
|
void |
invoke(Runnable code)
Executes the given code in a special dispatch thread, blocking until execution is complete. |
|
boolean |
isDispatchThread()
Gets whether the current thread is a dispatch thread for use with invoke(java.lang.Runnable) and queue(java.lang.Runnable). |
|
void |
queue(Runnable code)
Queues the given code for later execution in a special dispatch thread. |
|
|
run(Callable<V> code)
Asynchronously executes the given code in a new thread, as decided by the thread service. |
|
Future<?> |
run(Runnable code)
Asynchronously executes the given code in a new thread, as decided by the thread service. |
|
void |
setExecutorService(ExecutorService executor)
Sets the ExecutorService object used when run(java.util.concurrent.Callable is called. |
|
| Methods inherited from interface org.scijava.service.Service |
|---|
initialize, registerEventHandlers |
| Methods inherited from interface org.scijava.Contextual |
|---|
context, getContext, setContext |
| Methods inherited from interface org.scijava.Prioritized |
|---|
getPriority, setPriority |
| Methods inherited from interface java.lang.Comparable |
|---|
compareTo |
| Methods inherited from interface org.scijava.plugin.HasPluginInfo |
|---|
getInfo, setInfo |
| Methods inherited from interface org.scijava.Disposable |
|---|
dispose |
| Methods inherited from interface java.util.concurrent.ThreadFactory |
|---|
newThread |
| Method Detail |
|---|
<V> Future<V> run(Callable<V> code)
code - The code to execute.
Future that will contain the result once the execution
has finished. Call Future.get() to access to the return
value (which will block until execution has completed).Future<?> run(Runnable code)
code - The code to execute.
Future that can be used to block until the execution has
finished. Call Future.get() to do so.ExecutorService getExecutorService()
ExecutorService object used when run(java.util.concurrent.Callable) is called.
ExecutorService, or null if an ExecutorService
is not used in this ThreadService implementation.void setExecutorService(ExecutorService executor)
ExecutorService object used when run(java.util.concurrent.Callable) is called.
executor - The ExecutorService for this ThreadService
to use internally for run(java.util.concurrent.Callable) calls.
UnsupportedOperationException - if this ThreadService does
not use an ExecutorService to handle run(java.util.concurrent.Callable) calls.boolean isDispatchThread()
invoke(java.lang.Runnable) and queue(java.lang.Runnable).
In the case of AWT-based applications (e.g., Java on the desktop), this is typically the AWT Event Dispatch Thread (EDT). However, ultimately the behavior is implementation-dependent.
void invoke(Runnable code)
throws InterruptedException,
InvocationTargetException
In the case of AWT-based applications (e.g., Java on the desktop), this is typically the AWT Event Dispatch Thread (EDT). However, ultimately the behavior is implementation-dependent.
code - The code to execute.
InterruptedException - If the code execution is interrupted.
InvocationTargetException - If an uncaught exception occurs in the
code during execution.void queue(Runnable code)
In the case of AWT-based applications (e.g., Java on the desktop), this is typically the AWT Event Dispatch Thread (EDT). However, ultimately the behavior is implementation-dependent.
code - The code to execute.Thread getParent(Thread thread)
This works only on threads which the thread service knows about, of course.
thread - the managed thread, null refers to the current thread
ThreadService to spawn the
specified threadThreadService.ThreadContext getThreadContext(Thread thread)
ThreadService.ThreadContext of the given thread.
thread - The thread to analyze.
ThreadService.ThreadContext. Either:
ThreadService.ThreadContext.SAME - The thread was spawned by this
very thread service, and thus shares the same ThreadService.ThreadContext.ThreadService.ThreadContext.OTHER - The thread was spawned by a
different thread service, and thus has a different ThreadService.ThreadContext.
ThreadService.ThreadContext.NONE - It is unknown what spawned the
thread, so it is effectively ThreadService.ThreadContext-free.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||