POSIX多线程程序设计(一)

POSIX多线程程序设计(一)

几个重要概念

  • 异步(asynchronous):任何两个彼此独立运行的操作是异步的.异步表明事情相互独立地发生,除非有强加的依赖性.
  • 并发(concurrency):指事情同时发生.
  • 单处理器(uniprocessor):指一台计算机只有一个编程人员可见的执行单元(处理器)
  • 多处理器(multiprocessor):一台计算机拥有多个处理器,它们共享同一个指令集和相同的物理内存。
  • 并行(parallelism):指并发序列同时自执行
  • 线程安全:指代码能够被多个线程调用而不会产生灾难性结果(保护手段:临界区、互斥量、条件变量和线程私有数据等)
  • 执行环境:指并发实体的状态
  • 调度:决定在某个给定时刻该执行哪个环境(或环境组),并在不同的环境中切换
  • 同步:为并发执行的环境提供了协调访问共享资源的一种机制。同步本指“同时发生”,这里指“阻止同时发生”,同步的同义词:协调–同步就是让线程协调地完成工作的机制。
  • 线程:计算机中的可执行单元
  • 互斥量:阻止线程间发生不可预期的冲突。
  • 条件变量:线程间发生冲突,条件变量让线程等待直到可以安全地执行。
    互斥量和条件变量都是用来同步线程间操作的。
线程是进程里足以执行代码的部分。在大多数系统中,线程包括:当前指令位置指针(通常称为计数器或PC)、栈顶指针(SP)、通用寄存器、浮点或地址寄存器。线程还可能包括像处理器状态和协处理器寄存器等数据。线程不包括进程中的其它数据,如地址空间和文件描述符。一个进程的所有线程共享文件和内存空间,包括程序文件段和数据段。

线程比进程简单

可以将线程理解为一种减负的进程。系统在线程间切换比在进程间切换要快得多,这很大程度上得益于线程间共享地址人空间(包括代码段、数据段和堆栈)。

猜你喜欢

转载自blog.csdn.net/u010921682/article/details/79789667