编写一多线程程序实现如下功能:第一个线程循环输出打印10个a,第二个线程循环输出8个B,第三个线程循环输出数字1到10,要求第二个和第三个线程要在第一个线程输出完成后才能开始输出。注:join()方法join()方法是指线程的联合,即在一个线程运行过程中,若其他线程调用了join()方法与当前运行的线程联合,运行的线程会立刻阻塞,直到与它联合的线程运行完毕后才重新进入就绪状态,等待CPU的调度。
举一反三
- 编写一个多线程程序实现如下功能:线程 A 和线程 B 分别在屏幕上显示信息“…start”后,调用 wait 等待;线程 C 开始后调用 sleep 休眠一段时间,然后调用 notifyall,使线程 A 和线程 B 继续运行。线程 A 和线程 B 恢复运行后输出信息“…end”后结束,线程 C 在判断线程 B 和线程 A 结束后自己结束运行。
- 【单选题】下列关于线程插队的说法正确的是() A. 当在某个线程中调用其它线程的join()方法时,调用的线程将被阻塞,直到被join()方法加入的线程执行完成后它才会继续运行 B. 当在某个线程中调用其它线程的join()方法时,调用的线程将被继续运行 C. 当在某个线程中调用其它线程的join()方法时,调用的线程将永远不再执行 D. 当在某个线程中调用其它线程的join()方法时,调用的线程和被join()方法加入的线程同时执行
- 当在某个线程中调用其它线程的join()方法时,调用的线程将被阻塞,直到被join()方法加入的线程执行完成后它才会继续运行
- 下面关于Java线程的join()方法叙述正确的是:() A: join()方法是Thread类的实例方法。 B: A线程调用B线程的join()方法将使A线程等待B线程执行完毕后A线程才可以继续执行。 C: A线程调用B线程的join()方法将使A线程进入阻塞状态。 D: A线程调用B线程的join()方法,A线程等待B线程执行完毕,而恰好B线程随后又执行了sleep()方法,这种情况下A线程将可以继续执行。
- 有关线程的叙述说法错误的是( )。 A: 一旦一个线程被创建,它就立即开始运行 B: 使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行 C: 一个线程可以调用yield()方法使其他线程有机会运行 D: join()方法可使当前线程阻塞,直到调用该方法的线程运行结束