我有 3 个公共(public)空间。第一个 void 解析 pdf 文件。第二个 void 将该 pdf 文件增强为 string ,第三个 void 使用该字符串以编程方式显示 TextView (在 for 循环中)。当调用所有这些空洞时,应用程序会崩溃,因为它们都试图同时运行。我希望他们互相等待对方完成任务。我不想创建一个包含所有组件的大空间。
我怎样才能给他们打电话,让他们互相等待完成?
最佳答案
尝试使用Runnable数组
数组:
Runnable[] methods = new Runnable[]{
new Runnable() {
@Override
public void run() {
Log.d("TAG", "1");
//1 method
}
},
new Runnable() {
@Override
public void run() {
Log.d("TAG", "2");
//2 method
}
},
new Runnable() {
@Override
public void run() {
Log.d("TAG", "3");
//3 method
}
}
};
调用它:
ExecutorService service = Executors.newSingleThreadExecutor();
for (Runnable r : methods)
service.submit(r);
service.shutdown();
关于java - 按顺序运行 3 个公共(public)空间(在每个空间完成其任务后),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45378380/