2 u010384946 u010384946 于 2013.05.25 06:09 提问

多线程开发join()的方法比较透彻和清晰的解释

我现在正在自学java中的多线程,但是呢,join()这个方法和sleep()方法,我不是很能理解,哪位大神可以解释一下,最好有个简单的例子,谢谢啦

1个回答

franzhong
franzhong   2013.05.25 11:21

Thread.sleep(1000);
这意思是,如果线程运行到这儿了,线程在这个地方等1秒钟再往下走(精度不准)
sleep就是睡觉意思,这就好理解了

join()简单用法就是等一个线程结束
例如开启个线程做延时操作 Thread myThread1;
在main中调用它

myThread1.start();//启动了
myThread1.join(1000);
System.out.println("我等了它一秒钟后才输出");

给个通俗解释,
你去买东西,我在路上等你,和你先说,我等你一小时,你早来我早走,你不来,一小时后我自已走,就这意思
join有三种不同参数除了上面的

join();
//join(0);//同上意思是你不来,我不走了
myThread1.join(millis, nanos);//我等你一小时加一纳秒(精确)~

上面是通俗用法,还有更多线程处理等待优先级、interrupt、锁等更多内容
多测试自已体会一下,慢慢了解吧~

Csdn user default icon
上传中...
上传图片
插入图片