基本的に、複数のスレッドを実行できるようにしたいと考えています。これらのスレッドは、一定期間スリープ コマンドを使用します。スレッドが一定期間実行された後、ユーザー入力に基づいてこれらのスリープ スレッドの期間を操作できるようにしたいと考えています。
例えば:
classA からスレッドを開始しています...
private final ExecutorService scheduler = Executors.newCachedThreadPool();
public void startJob(Job job, List <Object> objectList) {
//Store the results of this in a map using a future and the id of job??
scheduler.submit(jobThreadInterface.create(job, objectList));
}
JobThreadInterface は classB を開始します...
public class ClassB implements Runnable{
private Job job;
private List <Object> objectList;
private int changeSleepDuration;
public ClassB (Job job, List <Object> objectList){
this.job = job;
this.objectList= objectList;
}
public void run() {
//It will keep looping through this sleep command until there are no more objects left...
for (Object object : objectList){
if (object.getSleepNumber() > 0){
Thread.sleep(object.getSleepNumber() + changeSleepDuration);
}
}
public setChangeSleepDuration(int i){
changeSleepDuration = i;
}
}
}
基本的に、私がやりたいことは、アクセスしsetChangeSleepDuration
たい任意のスレッドの classA から ClassB のメソッドにアクセスすることです。これは可能ですか?もしそうなら、最善の方法は何ですか?
ありがとう、