我有一个调用 Runtime.exec
的代码,它返回一个进程。
现在,如果进程尚未完成,从输入流读取数据将没有意义。
所以我添加了一个Process.waitFor
。
调用线程(进程/Activity 方法)会 hibernate 吗? 还是会消耗cpu。
最佳答案
Would the calling thread (process/activity method) would sleep ? Or will it consume cpu.
线程调度程序将暂停调用 Process.waitFor()
的线程,直到进程退出。
不会消耗 CPU。 (或者严格地说,线程本身不会消耗 CPU。调度器可能在需要“唤醒”线程时消耗少量 CPU,理论上可以CPU 以其他方式消耗……取决于线程调度程序和操作系统实现。)
Would my activity also be suspended till waitfor returns?
没有。只是调用 waitFor
的线程被阻塞/“进入休眠状态”。假设您的 Activity 有其他线程,它们不会直接受此影响。
Because service and acitvity are part of same android process.
那是不相关的。 “hibernate ”的是单个线程……而不是整个 Activity 或服务。
关于java - Process.waitfor 会使服务/Activity 进入休眠状态还是会消耗 CPU?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17120841/