java - Process.waitfor 会使服务/Activity 进入休眠状态还是会消耗 CPU?

标签 java android

我有一个调用 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/

相关文章:

java - Android:使用 Intent 或 Intent 过滤器启动 Activity

java映射获取与抽象类的子类不兼容的类型

Java 游戏随机 id 数组

java - 为什么 Concurrent HashMap 是可序列化的

android - 无法执行 dex : method ID not in [0, 0xffff]:65536

java - 扩展 ParseObject 并拥有通用查询工厂的正确方法

android - 过渡效果和 Intent

java - 给定一个 Swing 容器和坐标,我如何找到制造的鼠标事件的源?

java - 从 Adapter 中的 Activity 调用方法

java - 如何按自定义 ArrayAdapter 所基于的对象的变量对它的内容进行排序?