java - 操作系统(特别是 Android 的)进程

标签 java multithreading service process components

我正在读的一本书说

Each process has its own memory space, separate from the space belonging to other processes. Processes interact with one another only through narrow, well-policed pathways.

然后接着说

The system schedules the running of processes. To do this, the system executes a sequence of statements in one process, then a sequence of statements in another process, then a sequence in a third, eventually returning to the place where the first process left off.

我的问题是为什么进程被安排从一个进程运行到另一个进程,再到另一个进程,再回到第一个进程。我在 Processes and Threads 下的文档中查找了有关进程的更多信息,它对一些人有帮助,但我仍然不明白它们如何从 A -> B -> C -> A 除非它像 C 中的函数堆栈和C++。我阅读了有关流程的部分,但仍然 100% 不知道它们是什么,我被引导到文档中的服务和内容提供商部分,因为它在流程部分中讨论了流程组件的优先级及其生命周期。我不知道组件的优先级是否与理解它如何从 A - B - C 相关 - 但我认为我需要了解的不仅仅是过程的定义

“典型的操作系统(包括 Android)具有用户、进程和线程。”

“每个进程都有自己的内存空间,与其他进程的空间分开。进程之间只能通过狭窄的、监管良好的路径进行交互。”

最佳答案

有关背景信息,我建议阅读维基百科关于 Process (computing) 的文章和 Thread (computer science)chapter on process scheduling 也可能有用(尽管现在有点过时)。来自理解 Linux 内核。

对于 Android 特定的答案,之前有一个关于 Android Process Scheduling 的问题有几个答案。

关于java - 操作系统(特别是 Android 的)进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11582047/

相关文章:

cpu 内核与线程

java - 线程不会在调用 stop() 方法时停止

java - 使用输入 Excel 中的更新更新 Jar 文件

service - 在没有 inittab 的情况下重生服务 Debian Jessie

java - Google App Engine Java 的自定义用户管理

java - Google App Engine 安装失败并出现 SSLError

使用maven的Java NoClassDefFoundError

java - 如何使用ContentResolver Android更新与会者信息?

c# - WCF 能否处理对同一终结点的同时调用?

c# - 在同一应用程序中启动两个 Windows 服务