线程 优先级:
1.获取当前线程的默认优先级:Thread.currentThread().getPriority()
2.设置当前线程的优先级为10:Thread.currentThread().setPriority(10);
3.线程的最大优先级为:10 ;线程最小的优先级为 1 ;线程默认的优先级为 5;
代码如下:
线程让位:
让位,当前线程暂停,回到就绪状态,让给其它线程。通过调用静态方法:Thread.yield();
代码如下图:
线程合并
线程对象.join(); 将两个线程合并,当前线程受阻,合并过来的线程开始执行。
代码如下:
我们看一下线程合并和线程让位的区别:
join()方法:会让当前线程进入阻塞状态,等合并过来的线程执行完成,进入就绪状态开始抢夺CPU时间片。
yield()方法:线程是直接进入就绪状态开始抢夺CPU时间片,线程并没有阻塞。
我们在看一个问题,线程的优先级高就更容易抢到线程的执行权吗? 不是的优先级高只是抢夺的线程执行的时间更多。