join:
如下图所示,线程t1,线程t2和主线程三者交互执行

加入了join方法后,线程t1会全部执行完

但是我们又把join方法换了一个位置,线程t1线程t2交替执行,二者执行完之后,主线程才会执行

总结:Join把指定的线程加入到当前线程。(在主线程调用t1的join方法,t1执行完之后,才会继续走主线程)
线程的优先级:
线程总是存在优先级,优先级范围在1~10之间。jvm线程调度程序是基于优先级的抢先调度机制。在大多数情况下,当前运行的线程优先级将大于或等于线程池中任何线程的优先级。但这仅仅是大多数情况。
t1.setPriority(Thread.MAX_PRIORITY); 最大优先级
我们可以看到最后的部分都是t2线程

yield:(未完待续)
线程的让步是通过Thread.yield()来实现的。yield()方法的作用是:暂停当前正在执行的线程对象,并执行其他线程。
网友评论