感谢大神百忙之中抽空看到我的问题,我在想: 当线程A调用yield方法的时候,那么就相当于线程A给其他线程一个机会去让CPU重新选择一个线程执行 那么,我可不可以理解成: 假设我的CUP有N(N>3)个核,并且这N个核都空闲,这个时候我的线程数如果少于N,那么yield方法就没有任何意义,是这么回事儿吗?
收起
可以这么理解,而且使用yield()的目的是让相同优先级的线程之间能适当的轮转执行。 如果线程数多于内核数,也不能保证yield()达到让步目的,因为跟优先级有关、它还有可能被线程调度程序再次选中。
报告相同问题?