Linux多线程学习笔记(1)-多线程的简单概念

    科技2025-10-26  4

    Linux多线程学习笔记(1)-多线程的简单概念

    1 什么是线程

    • 进程:一个正在执行的程序,它是资源分配的最小单位。进程负责向CPU申请资源,进程中的事情需要按照一定的顺序逐个进行。 • 线程:有时又称轻量级进程,程序执行的最小单位,系统独立调度和分派cpu的基本单位・它是进程中的一个实体。一个进程中可以有多个线程,这些线程共享进程的所有资源,线程本身只包含一点必不可少的资原。 • 进程出现了很多弊端,一是由于进程是资源拥有者,创建、撤消与切换存在较大的时空开销,因此需要引入轻型进程;二是由于对称多处理机(SMP)出现,可以足多个运行单位,而多个进程并行开销过大。

    进程——资源分配的最小单位,线程——程序执行的最小单位。

    2 线程术语

    2.1 并发

    并发是指在同一时刻,只能有一条指令执行,但多个进程指令被快速轮换执行,使得在宏观上具有多个进程同时执行的效果。只是看起来同时发生。是针对单核处理器而言的。

    2.2 并行

    并行是指在同一时刻,有多条指令在多个处理器上同时执行。真正的同时发生。

    2.3 同步

    彼比有依赖关系的调用不应该“同时发生”,而同步就是要阻止那些“同时发生”的事情。

    2.4 异步

    异步的概念和同步相对,任何两个彼此独立的操作是异步的,它表明事情独立的发生。

    3 多线程优势

    ⑴ 在多处理器中开发程序的并行性 ⑵ 在等待慢速IO操作时,程序可以执行其他操作,提高并发性 ⑶ 模块化的编程,能更清晰的表达程序中独立事件的关系,结构清晰 ⑷ 占用按少的系统资源 注意:多线程不一定要多处理器

    Processed: 0.015, SQL: 8