先发制人的内核如何导致竞争条件?如果一个进程被抢占,即没有被踢出其关键部分。从我的理解竞争条件是当几个进程试图同时访问和操纵资源时。我很难理解这个概念
答案 0 :(得分:1)
抢占式内核可以随时启动和停止线程。这意味着不会通过锁和关键部分仔细协调其访问的线程最终会出现在竞争条件下。
多线程的另一种形式是协作多线程,其中线程只能在它们明确提供以产生处理器的点处停止。这有助于防止竞争条件,因为线程在处理过程中的随机意外点不会中断。
协作多线程的缺点是写入不会产生的线程会占用处理器,这就是为什么大多数现代操作系统使用抢先式多线程而不是合作多线程的原因。