我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:ds视讯 > 多优先级 >

C多线程执行顺序问题

归档日期:07-07       文本归类:多优先级      文章编辑:爱尚语录

  我把线程放到了一个数组中,线命名的,然后我是用for循环启动的线程,请问为什么我线程在执行的时候是按顺序的。这是为什么?正常情况下不是应该完全随机的吗?...

  我把线程放到了一个数组中,线命名的,然后我是用for循环启动的线程,请问为什么我线程在执行的时候是按顺序的。 这是为什么? 正常情况下不是应该完全随机的吗 ?求解!

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部你的这些线程所执行的代码是什么,是循环还是其它的,如果是循环,在循环中建议加入Thread.Sleep(0),以便让其它线程可以抢到CPU资源。更多追问追答追问是循环,加上了但还是有一定的顺序,这是为什么追答如果是循环,那肯定不会是象像你所想的完全随机的,这取决于系统给的时间片里你的一个线程能运行多少次在某些操作系统下,具有最高优先级(相对于可执行线程而言)的线程经过调度后总是首先运行。如果具有相同优先级的多个线程都可用,则计划程序将遍历处于该优先级的线程,并为每个线程提供一个固定的时间片(段)来执行。只要具有较高优先级的线程可以运行,具有较低优先级的线程就不会执行。

  如果在给定的优先级上不再有可运行的线程,则计划程序将移到下一个较低的优先级并在该优先级上调度线程以执行。

本文链接:http://losmochileros.net/duoyouxianji/438.html