5.2. 线程
在实时系统中,进程中可以存在多个线程,共享其虚拟地址空间和系统资源。线程是一个可调度实体,其中包含程序计数器、寄存器上下文和堆栈指针。
在实时中,以下是创建并行性的潜在机制:
-
使用
fork ()和exec ()函数调用来创建新进程。fork() 调用会创建一个进程的确切重复,它被调用并具有唯一的进程标识符。 -
使用 POSIX 线程(
pthreads) API 在已经运行的进程中创建新线程。
您必须在分叉实时线程前评估组件交互级别。当组件独立于另一个或者较少的交互时,创建新地址空间并将其作为新进程运行会很有用。当组件需要共享数据或频繁通信时,在一个地址空间内运行线程更高效。
在实时中,当成功时,fork () 系统调用会返回零值。出错时,它会返回一个错误号。
提示
如需更多信息,请参阅系统中的 fork (2) 和 exec (2) man page。