【发布时间】:2015-11-02 17:10:31
【问题描述】:
我有一个非常具体的问题。
- 如何阻塞 I/O 操作,例如recvfrom() 调用工作在一个
多线程应用程序? - 操作系统如何调度具有阻塞系统调用的线程?
- 当阻塞系统调用发生时,操作系统会调度线程吗? 执行(例如,类似于忙等待?)或仅操作系统 在系统调用返回后安排线程?
- 这会导致执行线程中断(如果这是 case 是否值得对关键部分进行编码 互斥锁中的其他线程或某种原子操作?)
【问题讨论】:
-
这个问题在哪里非常具体?
-
哪个操作系统? (评论不够长)
-
@gurka 有道理。例如,在 Linux 下,线程在调度方面几乎像进程一样处理。这在 Windows 上可能看起来有点不同,在诸如在没有 MMU 的微控制器上运行的操作系统上可能看起来有很大不同。
-
感谢 cmets 和答案。我实际上只是指 Linux 操作系统。
标签: multithreading c++11