Linux 进程和线程

基于 Linux 进程和线程设计软件系统的规则

  • 为了最小化开销,将大量交互的线程放在 1 个进程中。
  • 为了弹性和模块化,将交互受限的线程隔离到不同进程中。
  • 关键线程应尽可能简单并且应该自己控制 1 个进程。
  • 保持线程模块化并具有明确定义的交互。
  • 不要滥用线程,创建线程和协调同步都有成本。
  • 可以使用 OpenMP 为每个 CPU 核分配一个线程。

Android 每个应用程序都是一个独立的 Linux 进程

  • 有助于模块化内存管理并确保一个应用程序崩溃不会影响整个系统。
  • 有利于访问控制:进程只能访问其 UID 和 GID 允许的文件和资源。
  • 减少了资源泄漏:当进程终止时包括内存和文件描述符在内的所有资源都被释放。

Android 每个进程中都有一组线程

  • 一个线程管理和更新用户界面。
  • 一个线程处理来自操作系统的信号。
  • 几个线程管理动态内存分配和释放 Java 对象。
  • 一个线程池使用 Binder 协议接收来自系统其他部分的消息。
posted @ 2024-10-15 08:24  KevinAshton  阅读(5)  评论(0编辑  收藏  举报