抢占式调度理解
1.抢占式调度应该这样理解,调度那肯定是调度器调度,比如操作系统;
因此这个抢占式是指操作系统会抢占式调度线程,线程A获得了CPU后,过一段时间会被操作系统给抢掉给其他线程;
抢占式还有个重要概念是,线程有优先级,优先级高的线程可以通过操作系统抢占CPU
调度肯定是调度器来调度,所以对于Linux系统而言,抢占式调度是Linux系统调度线程时是抢占式的,即能够强制将cpu从当前执行的线程改调度其他线程。
非抢占式调度则是比如Dart里,如果一个task(协程)里一直while循环执行计算逻辑而没有await,则这个task会一直占用资源该Isolate的资源而不会被Isolate强制暂停;但是它可以主动await让出CPU,所以是非抢占式调度;
2.非抢占式调度则是只线程获得CPU后会一直执行,直到它通过类似sleep主动让出CPU
posted on 2023-11-12 17:27 Silentdoer 阅读(61) 评论(0) 编辑 收藏 举报