当前位置: 首页 > 知识库问答 >
问题:

如何用joptionpane并行执行java函数

庞瀚
2023-03-14

我想在java中执行一个函数,但同时我想在操作开始和结束时向用户显示一个JOptionPane,问题是如果我不推送第一个JOptionPane的“接受”buyton,我的函数就不会启动,我希望它是自动的,我该怎么做?这是我的代码,我的函数使用JRI接口。

JOptionPane.showMessageDialog(null, "Leyendo archivos, espere un momento...","Importar archivos cel", JOptionPane.INFORMATION_MESSAGE);

REXP data = re.eval("rawdata <- read.celfiles(celFiles)");

JOptionPane.showMessageDialog(null, "Se han importado las muestras exitosamente.", "Importar archivos cel",JOptionPane.INFORMATION_MESSAGE);

共有1个答案

干亮
2023-03-14

使用ExecutorService,我相信如果理解的话应该更容易实现。例子,

REXP data;
    try {
        ExecutorService newCachedThreadPool = Executors.newCachedThreadPool();
        Future<REXP> submit = newCachedThreadPool.submit(new Callable<REXP>() {
            @Override
            public Object call() throws Exception {
                return re.eval("rawdata <- read.celfiles(celFiles)");
            }
        });
        data = submit.get();
    } catch (InterruptedException | ExecutionException ex) {
        System.err.println(ex.getMessage);
    }
    JOptionPane.showMessageDialog(null, "Leyendo archivos, espere un momento...", "Importar archivos cel", JOptionPane.INFORMATION_MESSAGE);
    JOptionPane.showMessageDialog(null, "Se han importado las muestras exitosamente.", "Importar archivos cel", JOptionPane.INFORMATION_MESSAGE);

您可以方便地使用其他重载方法。查看文档

 类似资料:
  • 如何拆分列表并并行执行 我的场景-- 我从webservices获得了1000辆使用下面列表的车辆。 我想在每个列表中分割100辆车并并行执行所有列表。 谢谢

  • 可以限制并行运行的函数的最大数量吗? 我看了留档,发现了这个: 当多个触发事件发生的速度快于单线程函数运行时处理它们的速度时,运行时可能会并行多次调用该函数。 如果函数应用正在使用消耗托管计划,函数应用可以自动横向扩展。函数应用的每个实例(无论应用是在消耗托管计划还是常规应用服务托管计划上运行)都可能使用多个线程并行处理并发函数调用。 每个函数应用程序实例中并发函数调用的最大数量因使用的触发器类型

  • 问题内容: 我在src / test / resources / feature /中有以下功能文件(单独的功能文件),我想并行运行它们。就像:一个功能文件必须在chrome中执行,而另一个功能文件必须在firefox中执行,如@Tags名称所述。 有人可以帮助我实现这一点吗?我使用的是cumul-java 1.2.2版本,并且使用AbstractTestNGCucumberTests作为运行程序

  • 我在src/test/resources/feature/中有以下功能文件(单独的功能文件),我想并行运行它们。比如:一个功能文件必须在chrome中执行,另一个必须在另一个chrome实例中执行,如@Tags name所述。 我正在使用Java1.2。5版本,AbstractTestNGCucumberTests作为runner。我可以运行一个功能文件,但当我尝试使用cucumber jvm并行

  • 问题内容: 我先研究了一下,却找不到答案。我试图在Python中并行运行多个函数。 我有这样的事情: 我想调用func1和func2并使它们同时运行。这些功能彼此之间或在同一对象上不相互作用。现在,我必须等待func1完成才能启动func2。我该如何执行以下操作: 我希望能够几乎同时创建两个目录,因为我每分钟都在统计要创建多少个文件。如果该目录不存在,将会拖延我的时间。 问题答案: 你可以使用th

  • 我想在下拉菜单上做mouseover函数。当我们悬停在菜单上时,它将显示新的选项。我尝试使用XPath单击新选项。但不能直接单击菜单。因此,作为手动方式,我试图悬停在下拉菜单上,然后将单击新的选项。