从java中的Runnable线程调用主线程

saj*_*joo 6 java multithreading

我已经实现了一个Runnable接口来加载图像切片,我想从这个辅助线程调用主线程来显示切片.任何人都可以告诉我如何从Java中的Runnable接口线程调用主线程.

谢谢.

Bor*_*vić 4

Runnable可以使用Callable<Set<Image>>它返回一组加载的图像。将此可调用任务提交给执行器,获取Future<Set<Image>>并等待加载线程完成其工作。

例如:

Future<Set<Image>> future =
  Executors.newSingleThreadExecutor().submit(new Callable<Set<Image>>()
    {
      @Override
      public Set<Image> call() throws Exception
      {
        return someServiceThatLoadsImages.load();
      }
    });

try
{
  Set<Image> images = future.get();
  display(images);
} catch (Exception e)
{
  logger.error("Something bad happened", e);
}
Run Code Online (Sandbox Code Playgroud)