gpt4 book ai didi

c++ - 阻塞模式的原理是什么?

转载 作者:行者123 更新时间:2023-11-30 19:24:22 24 4
gpt4 key购买 nike

就像阻塞直到文件播放完毕,其原理是什么以及如何实现?

最佳答案

“阻塞”意味着该操作不会将控制权返回给其调用者,直到“阻塞直到”为真为止。

这可以通过多种方式实现:

  • 将屏蔽责任委托(delegate)给其他人。例如,调用pthread_mutex_lock,这可能会阻塞。这也会使你的功能 block 。执行此操作的其他函数包括 read 以及任何其他表示可能会阻塞的系统调用。
  • 旋转。换句话说,有一些类似于 while (!condition) {} 的代码。这会占用整个 CPU 核心,因此如果您要阻塞很长一段时间,这不是一个好的做法。
  • 使用信号处理程序。调用 sleep(5000) 或类似方法,并通过 SIGALARM 或其他异步方法终止 sleep 。

对于媒体播放器来说,“阻塞直到文件播放完毕”仅意味着“等待媒体文件播放完毕后再返回”。

关于c++ - 阻塞模式的原理是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3482235/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com