首页 理论教育 嵌入式Linux编程入门与开发实例:Linux线程

嵌入式Linux编程入门与开发实例:Linux线程

时间:2023-10-31 理论教育 版权反馈
【摘要】:20世纪80年代中期,多线程被应用到操作系统中。目前,多线程技术已经被许多操作系统所支持,包括WindowsNT/2000和Linux。多用户是指多个用户可以在同一时间使用计算机系统;多任务是指Linux可以同时执行几项任务,它可以在还没有执行完一项任务时又执行另一项任务。在Linux应用程序开发中的很多情况下都采用多线程作为一种多任务、并发的工作方式。操作系统会保证当线程数目不大于CPU数目时不同的线程运行于不同的CPU上。

嵌入式Linux编程入门与开发实例:Linux线程

线程技术早在20世纪60年代就被提出了。20世纪80年代中期,多线程被应用到操作系统中。目前,多线程技术已经被许多操作系统所支持,包括WindowsNT/2000和Linux。存在于同一进程中的线程会共享一些信息,这些信息包括全局变量、进程指令、数据、信号处理程序、信号设置、用户ID和用户组ID等。

Linux是一个多用户、多任务的操作系统。多用户是指多个用户可以在同一时间使用计算机系统;多任务是指Linux可以同时执行几项任务,它可以在还没有执行完一项任务时又执行另一项任务。在操作系统设计上,从进程(Process)演化出线程(Thread),最主要的目的就是更好地支持多处理器,并且减少(进程/线程)上下文切换的开销。线程是在共享内存空间中并发的多道执行路径,它们共享一个进程的资源。在两个普通进程(非线程)间进行切换时,内核从一个进程的上下文切换到另一个进程的上下文要做很多工作,包括保存旧进程CPU状态,并加载新进程的保存状态,用新进程的内存映像替换旧进程的内存映像。

线程也有其私有数据信息,包括

●线程号(ThreadID):每个线程都有一个唯一的线程号与之对应。

●寄存器(包括程序计数器堆栈指针)。

●堆栈。

●信号掩码。(www.xing528.com)

优先级

●线程私有的存储空间。

在Linux应用程序开发中的很多情况下都采用多线程作为一种多任务、并发的工作方式。多线程具有以下优点:

1)提高应用程序的响应速度。将耗时长的操作置于一个新的线程,可以避免系统的等待。

2)使多CPU系统更有效。操作系统会保证当线程数目不大于CPU数目时不同的线程运行于不同的CPU上。

3)改善程序结构。一个长而复杂的进程可以分为多个线程,成为独立运行的部分。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈