跳到主要内容

线程

线程是操作系统调度执行的基本单位。一个进程可以包含多个线程,多个线程共享进程内存,但各自拥有执行栈。

一、进程和线程

概念说明
进程资源分配单位,拥有独立地址空间
线程调度执行单位,共享进程资源

二、适合场景

  • 并发处理请求;
  • 后台任务;
  • I/O 等待;
  • 定时任务;
  • 部分并行计算。

三、常见问题

  • 竞态条件;
  • 死锁;
  • 数据不一致;
  • 上下文切换开销;
  • 线程过多导致资源耗尽。

四、同步工具

  • 互斥锁;
  • 读写锁;
  • 条件变量;
  • 信号量;
  • 原子操作;
  • 线程池。