为什么引入线程呢?
引入线程之后,不仅是进程之间可以并发,进程内的各线程之间也可以并发,从而进一步提升了系统的并发度,使得一个进程内也可以并发处理各种任务(如QQ这个进程可以同时视频、文字聊天、传文件)
这样做的好处不但可以提高系统的并发度,还能适应新的对称多处理机(SMP)环境的运行(提高并行性),充分发挥其性能。
线程与进程之间的关系
线程作为操作系统调度的基本单位,进程作为除CPU资源分配的基本单位
一个进程的组成实体可以分为两大部分:线程集和资源集。进程中的线程是动态的对象;代表了进程指令的执行。资源,包括地址空间、打开的文件、用户信息等等,由进程内的线程共享。由于线程共享进程的地址空间,因此可能会导致竞争,因此对某一块有多个线程要访问的数据需要一些同步技术。