如何在java程序中启动和停止进程,同时等待其他方法每3秒启动和停止一次
您好,我有一个方法,我想每3秒钟调用一次,以进行一些计算,然后结果将转到一个新方法,并在第一个方法停止时执行其工作如何在java程序中启动和停止进程,同时等待其他方法每3秒启动和停止一次,java,android,multithreading,synchronization,Java,Android,Multithreading,Synchronization,您好,我有一个方法,我想每3秒钟调用一次,以进行一些计算,然后结果将转到一个新方法,并在第一个方法停止时执行其工作 Runnable helloRunnable = new Runnable() { public void run() { System.out.println("Hello world " + checkFileToReceive); here is the calcula
Runnable helloRunnable = new Runnable() {
public void run() {
System.out.println("Hello world " + checkFileToReceive);
here is the calculation of the **intnumbOfChunks** which is used
in the main program
}
};
ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
executor.scheduleAtFixedRate(helloRunnable, 0, 3, TimeUnit.SECONDS);
这里我有一个主程序正在做一些事情。
如何在等待helloRunnavle完成时停止和启动主程序?
主程序是
for (int i = 0; i < intnumbOfChunks; i++) {
fileToClaim = "";
fileToClaim = "bigbang.mp4";
fileToClaim = String.format("%s.part%06d", fileToClaim, i);
if (i==0){
checkFileToReceive = fileToClaim;
System.out.println("checkFileToReceive "+fileToClaim);
}
if (i%2==0){
fileparts.add(fileToClaim);
// System.out.println("fileToClaim "+fileToClaim);
}else {
fileparts1.add(fileToClaim);
// System.out.println("fileToClaim1 "+fileToClaim);
}
}
for(inti=0;i
for(int i=0;i如何将IntNumberOfChunk从线程传递到主进程?在这个过程中,我想测量两台服务器的速度。在计算之后,看看差异是什么,并将其放入列表中,以便知道我需要从每个服务器下载多少块以及我可以做多少块。但是由于网络的速度在变化,我需要每30秒计算一次速度!因此要更改dinamic列表!这将在完成后停止所有执行!我需要在第一个进程运行时停止。并且在第一个进程停止时运行!
fileToClaim = "";
fileToClaim = "bigbang.mp4";
fileToClaim = String.format("%s.part%06d", fileToClaim, i);
if (i==0){
checkFileToReceive = fileToClaim;
System.out.println("checkFileToReceive "+fileToClaim);
}
if (i%2==0){
fileparts.add(fileToClaim);
}else {
fileparts1.add(fileToClaim);
}
Thread.sleep(3000);
}