B
budianermayi
Unregistered / Unconfirmed
GUEST, unregistred user!
我程序的目的: 我想将几个线程不停的访问一个临界区资源,A线程的优先级高,要求在
两次访问当中,必有一次执行A,另外的一次机会平均的让给其他的线程.注意,平均分配的
也很重要,不应该出现某个线程多次得不到资源.
那位朋友有能力解答我的问题,望赐教,不胜感谢.
我的想法是:把A设为较高优先级,而在A线程每次释放临界资源之后,sleep一下(这个时间
远小于循环使用临界资源的运行时间)这样让别的线程得到机会,而别的线程释放临界区之后
,由于A优先级高,将再次得到资源,可是实事不是我想的那样,结果是所有的线程得到了平均
的执行机会,似乎在线程调度时,会按照等待临界资源的时间先后,排队执行线程,而不考虑
线程的优先级,是这样吗? 我的想法可行吗?
欢迎大家参与讨论
两次访问当中,必有一次执行A,另外的一次机会平均的让给其他的线程.注意,平均分配的
也很重要,不应该出现某个线程多次得不到资源.
那位朋友有能力解答我的问题,望赐教,不胜感谢.
我的想法是:把A设为较高优先级,而在A线程每次释放临界资源之后,sleep一下(这个时间
远小于循环使用临界资源的运行时间)这样让别的线程得到机会,而别的线程释放临界区之后
,由于A优先级高,将再次得到资源,可是实事不是我想的那样,结果是所有的线程得到了平均
的执行机会,似乎在线程调度时,会按照等待临界资源的时间先后,排队执行线程,而不考虑
线程的优先级,是这样吗? 我的想法可行吗?
欢迎大家参与讨论