gpt4 book ai didi

java - 从 threadExecutor 返回值

转载 作者:行者123 更新时间:2023-12-02 07:55:42 25 4
gpt4 key购买 nike

如何在固定 threadExecutor 中访问 getOptimizedMol() 方法?我需要在每个优化器线程完成时获取返回分子?

import chemaxon.marvin.calculations.ConformerPlugin;
import chemaxon.marvin.plugin.PluginException;
import chemaxon.struc.Molecule;

public class Optimizer3D implements Runnable {


private Molecule mol3D;
private Molecule mol2D;

Optimizer3D(Molecule mol2D_)
{
this.mol2D = mol2D_;
}

@Override
public void run() {
mol3D = chemAxonOptimizer();
}

private Molecule chemAxonOptimizer()
{
//optimize molecule code not shown
return molecule;

}


public Molecule getOptimizedMol()
{
return mol3D;
}
}

最佳答案

一种简单的技术是将某种 JobListener 添加到您的可运行对象中:

public class Optimizer3D implements Runnable {

public static interface JobListener {
public void onJobFinished(Optimizer3D job);
}

private Molecule mol3D;
private Molecule mol2D;
private JobListener jobListener;
Optimizer3D(Molecule mol2D_, JobListener listener)
{
this.mol2D = mol2D_;
this.jobListener = listener;
}

@Override
public void run() {
mol3D = chemAxonOptimizer();
if (jobListener!=null) {
jobListener.onJobFinished(this);
}
}

private Molecule chemAxonOptimizer()
{
//optimize molecule code not shown
return molecule;

}


public Molecule getOptimizedMol()
{
return mol3D;
}
}

关于java - 从 threadExecutor 返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9674941/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com