如何在java程序中启动和停止进程,同时等待其他方法每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

您好,我有一个方法,我想每3秒钟调用一次,以进行一些计算,然后结果将转到一个新方法,并在第一个方法停止时执行其工作

 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); 

    }