4.2. 线程
在实时中,进程中可以存在多个线程。进程的所有线程共享其虚拟地址空间和系统资源。线程是一个可调度的实体,包含:
- 程序计数器(PC)。
- 注册上下文。
- 堆栈指针。
在实时中,以下是创建并行性的潜在机制:
-
使用
fork ()和exec ()函数调用来创建新进程。fork ()调用会为进程创建一个名为 且具有唯一标识符的进程的精确重复。 -
使用 Posix 线程(
pthreads) API 在已经运行的进程内创建新的线程。
在对实时线程进行分叉前,您必须评估组件交互级别。当组件独立于另一个或较少交互时,创建新的地址空间并将其作为新进程运行是有益的。当组件需要共享数据或经常通信时,在一个地址空间中运行线程会更高效。
实时中,fork () 系统调用在成功时返回零值。出错时,它会返回错误号。