多个相同优先级线程等待 同一个时间信号解决思路
多个相同优先级线程等待 同一个时间信号
假如有5个相同优先级的线程,去等待同一个500ms周期的定时时间事件。结果会怎么样?
我测了一下,发现这5个线程,每个线程每过5*0.5秒=2.5秒都有机会得到执行(而且很有规律)
问题:
是否会出现有1个线程,始终没有机会得到执行?(最好给出点有利的证据。在这种情况下,是否操作系统会保证每个线程都有机会执行)
我没找到这个证据。
------解决方案--------------------
cpu的调度,对于同等优先级的是循环调度的,再说要是有调度不到的情况,那就是操作系统bug了
------解决方案--------------------
楼主可以参考一下操作系统中的进程
------解决方案--------------------
不会,操作系统有一个饥饿线程的概念,楼主可以找下这方面的书籍
假如有5个相同优先级的线程,去等待同一个500ms周期的定时时间事件。结果会怎么样?
我测了一下,发现这5个线程,每个线程每过5*0.5秒=2.5秒都有机会得到执行(而且很有规律)
问题:
是否会出现有1个线程,始终没有机会得到执行?(最好给出点有利的证据。在这种情况下,是否操作系统会保证每个线程都有机会执行)
我没找到这个证据。
------解决方案--------------------
cpu的调度,对于同等优先级的是循环调度的,再说要是有调度不到的情况,那就是操作系统bug了
------解决方案--------------------
楼主可以参考一下操作系统中的进程
------解决方案--------------------
不会,操作系统有一个饥饿线程的概念,楼主可以找下这方面的书籍