中断主线程而不影响现有代码

时间:2015-12-13 15:39:32

标签: interrupted-exception

如何在不对现有代码执行产生任何影响的情况下中断主线程?

因为你知道代码Thread.sleep();对前面的代码有影响。

我特别需要的是一个强制程序冲动1秒然后运行其余部分的代码。但是不要影响孔程序(我的意思是在代码之前编写的代码)

1 个答案:

答案 0 :(得分:0)

我为我的问题找到了一个解决方案: 我们可以使用一个线程数组和一个处理程序数组和postDelayed方法。

例如此代码:

for (int i = 0; i < executeCount; i++) {
    final int j = i;
    arrayThread.add(new Thread(new Runnable() {

        @Override
        public void run() {
            arrayhandler.get(j).postDelayed(new Runnable() {

                @Override
                public void run() {
                    doSomeThings();

                    if(j == executeCount -1){
                        doNextCodes();  
                    }
                }
            }
            , (j * WaitingTime));
        }
     }));
 arrayThread.get(j).start();
 }

此代码执行&#34; doSomeThings();&#34;每&#34;等待时间&#34; &#34; executeCount&#34;秒倍。最后当&#34; j == executeCount -1&#34;程序执行&#34; doNextCodes();&#34;