← 返回首页
ThreadService (SciJava Javadocs 0-SNAPSHOT API)
JavaScript is disabled on your browser.
org.scijava.thread

Interface ThreadService

    • Method Detail

      • run

        <V> Future<V> run(Callable<V> code)
        Asynchronously executes the given code in a new thread, as decided by the thread service. Typically this means that the service allocates a thread from its pool, but ultimately the behavior is implementation-dependent. This method returns immediately.
        Parameters: code - The code to execute. Returns: A 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).
      • run

        Future<?> run(Runnable code)
        Asynchronously executes the given code in a new thread, as decided by the thread service. Typically this means that the service allocates a thread from its pool, but ultimately the behavior is implementation-dependent. This method returns immediately.
        Parameters: code - The code to execute. Returns: A Future that can be used to block until the execution has finished. Call Future.get() to do so.
      • isDispatchThread

        boolean isDispatchThread()
        Gets whether the current thread is a dispatch thread for use with invoke(Runnable) and queue(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.

        Returns: True iff the current thread is considered a dispatch thread.
      • invoke

        void invoke(Runnable code) throws InterruptedException, InvocationTargetException
        Executes the given code in a special dispatch thread, blocking until execution is complete.

        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.

        Parameters: code - The code to execute. Throws: InterruptedException - If the code execution is interrupted. InvocationTargetException - If an uncaught exception occurs in the code during execution.
      • queue

        void queue(Runnable code)
        Queues the given code for later execution in a special dispatch thread, returning immediately.

        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.

        Parameters: code - The code to execute.
      • queue

        Future<?> queue(String id, Runnable code)
        Queues the given code for later execution in a dispatch thread associated with the specified ID, returning immediately.
        Parameters: id - The ID designating which dispatch thread will execute the code. code - The code to execute. Returns: A Future whose Future.get() method blocks until the queued code has completed executing and returns null. See Also: ExecutorService.submit(Runnable)
      • queue

        <V> Future<V> queue(String id, Callable<V> code)
        Queues the given code for later execution in a dispatch thread associated with the specified ID, returning immediately.
        Parameters: id - The ID designating which dispatch thread will execute the code. code - The code to execute. Returns: A Future whose Future.get() method blocks until the queued code has completed executing and returns the result of the execution. See Also: ExecutorService.submit(Callable)
      • getParent

        Thread getParent(Thread thread)
        Returns the thread that called the specified thread.

        This works only on threads which the thread service knows about, of course.

        Parameters: thread - the managed thread, null refers to the current thread Returns: the thread that asked the ThreadService to spawn the specified thread

Copyright © 2015–2022 SciJava. All rights reserved.