初学Java多线程:join方法的使用

2014-10-28 17:30:16 · 作者: · 浏览: 87

  在上面的例子中多次使用到了Thread类的join方法。我想大家可能已经猜出来join方法的功能是什么了。对,join方法的功能就是使异步执行的线程变成同步执行。也就是说,当调用线程实例的start方法后,这个方法会立即返回,如果在调用start方法后后需要使用一个由这个线程计算得到的值,就必须使用join方法。如果不使用join方法,就不能保证当执行到start方法后面的某条语句时,这个线程一定会执行完。而使用 join方法后,直到这个线程退出,程序才会往下执行。下面的代码演示了join的用法。


  1.package mythread;


  2.


  3.public class JoinThread extends Thread


  4.{


  5. public static int n = 0;


  6.


  7. static synchronized void inc()


  8. {


  9. n++;


  10. }


  11. public void run()


  12. {


  13. for (int i = 0; i < 10; i++)


  14. try


  15. {


  16. inc();


  17. sleep(3); // 为了使运行结果更随机,延迟3毫秒


  18.


  19. }


  20. catch (Exception e)


  21. {


  22. }


  23. }