Skip to content

Latest commit

 

History

History
15 lines (12 loc) · 1.29 KB

linux系统的各类同步机制、linux系统的各类异步机制.md

File metadata and controls

15 lines (12 loc) · 1.29 KB

同步机制

  1. 互斥锁(Mutex):互斥锁用于保护临界区资源,确保同一时刻只有一个线程能访问特定资源。
  2. 读写锁(Read-Write Lock):允许多个读者同时访问,但在写者访问时,其他所有读写者都将阻塞。
  3. 条件变量(Conditional Variable):线程间同步的另一种方式,它可以允许某些情况下的线程有序地访问共享数据。
  4. 信号量(Semaphore):原始信号量和 POSIX 信号量是 Linux 提供的两种信号量。
  5. 自旋锁(spinlock):当锁已经被占用时,继续尝试获取锁,直到成功为止。
  6. 屏障(barrier):确保所有进程在继续执行前达到某个点。

异步机制

  1. 异步IO(AIO):在发起IO请求后,立即返回,不阻塞当前进程或线程。当IO操作完成后,再通知用户程序。
  2. 信号(Signal):当某些事件发生时,系统会发送信号给进程。对信号的处理可以是忽略、捕捉(指定处理函数)、执行默认操作等。
  3. 回调函数:在某些操作完成后,调用预先定义的函数。
  4. epoll/select/poll异步IO模型:Linux下的多路复用IO模型,可以同时监控多个文件描述符的读写状态,当文件描述符准备好后,通过回调通知应用程序。