好记性不如赖笔头………………
API中关于线程的优先级的说明:
public final void setPriority(int newPriority) : 更改此线程的优先级。
static int MAX_PRIORITY :线程可以拥有的最大优先级。 (值 为10)
static int MIN_PRIORITY :线程可以拥有的最小优先级。 (值 为1)
static int NORM_PRIORITY :被分配给线程的默认优先级。 (值为5)
其实,即使设置了线程的优先级,一样无法确保这个线程一定先执行,因为它有很大的随机性。它并无法控制执行哪个线程,因为线程的执行,是抢占资源后才能执行的操作,而抢点资源时,最多是给于线程优先级较高的线程一点机会而已,能不能抓住可是不一定的。。
说到底就一句话:线程优化级较高的线程不一定先执行。