如何在不对现有代码执行产生任何影响的情况下中断主线程?
因为你知道代码Thread.sleep();对前面的代码有影响。
我特别需要的是一个强制程序冲动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;