yield()方法: 使当前线程让出 CPU 占有权,不会释放锁资源。
join()方法: 把指定的线程加入到当前线程, 可以将两个交替执行的线程合并为顺序执行。
比如在线程 B 中调用了线程 A 的 Join()方法, 直到线程 A 执行完毕后, 才会继续
执行线程 B。
Daemon 线程被用作完成支持性工作, 但是在 Java 虚拟机退出时 Daemon 线
程中的 finally 块并不一定会执行。 在构建 Daemon 线程时, 不能依靠 finally 块中
的内容来确保执行关闭或清理资源的逻辑。