以下哪种方法会导致当前线程暂停执行,直到另一个线程执行完毕?
答案解析
核心考点是线程的控制方法。`join()`方法的作用是让当前线程等待调用`join()`的线程执行完毕。`start()`是启动线程,`sleep()`是让线程休眠一段时间,`yield()`是让当前线程放弃CPU执行权,但并不是等待其他线程执行完毕。
**解题思路:**
题目考察线程控制相关的知识点,需要区分`start`, `sleep`, `join`, `yield`这几个方法的功能。
**选项分析:**
* A. `start()`: 启动一个线程,使线程进入就绪状态,与当前线程是否等待无关。
* B. `sleep()`: 使当前线程休眠指定时间,不会等待其他线程执行完毕。
* C. `join()`: 使当前线程等待另一个线程执行完毕,是正确答案的关键。
* D. `yield()`: 使当前线程放弃CPU执行权,但其他线程不一定立即执行,也不会导致当前线程等待。
**易错点:**容易混淆`join()`和`sleep()`以及`yield()`的功能,需要明确`join()`是阻塞等待其他线程执行完成。
正确答案:C