多线程的join()方法实际中有用吗? 它到底是什么作用。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 当然有用 JDA为我们提供了三种,如下:join() 等待该线程终止。join(long millis) 等待该线程终止的时间最长为 millis 毫秒。join(long millis, int nanos) 等待该线程终止的时间最长为 millis 毫秒 + nanos 纳秒。当你想让某个线程优先执行时,可以调用join()让该线程加入先执行,如果要指定时间,可以设置参数 我的理解是这样的。如果一个线程调用了join方法,就是说其它线程要等到这个线程执行完,才能执行。如果join(3秒),就是说起码给它3秒钟的执行时间。 我感觉用的比较的少,一般都是用sleep让他睡上多少ms 楼上thinking in java里的说法是:只是像JVM提出建议,并不保证其他线程这时候就不执行。估计只是在抢占CPU上占了些先机而已 实际中非常有用,join不一定是针对单线程,可以是线程组 我的这个项目虽说不算多大,但是没有看到一处用到join的方法,都是用sleep join是等待线程结束。我在项目中写过服务器线程,在服务器完成后提示给用户“停止完成”四个字,需要阻塞时可以用join join方法:假如你在A线程中调用了B线程的join方法(B.join();),这时B线程继续运行,A线程停止(进入阻塞状态)。等B运行完毕A再继续运行,中途B线程不受影响。这里要注意的是A先成停止的位置就在调用join方法处,后面代码不执行,要等B完了以后再执行。 sleep方法和yield方法要做个比较!线程中调用sleep方法后,本线程停止(进入阻塞状态),运行权交给其他线程。而线程中调用yield方法后本线程并不停止,运行权又本线程和优先级不低与本线程的线程来抢(这里要注意并不是优先级低的就一定抢不过优先级高的,优先级高的只是时间片大一些)。 当你用多线程分段解析一个大的文本文件,然后想把结果汇总的时候,就可以在主线程中调用其他解析文本文件的线程的join方法,然后对其结果进行汇总,不过现在基本不用这种形式了,基本用future模式进行了替代,你很少会看到直接join的方法了 个人觉得join方法没有实际用处。 关于j2se中配置文件的应用,及反射的一些含义,和普通new一个对象有什么显著的区别? MyEclipse6.0 万份火急..求救!!! 请高手指点,为何如此显示? jxl的取值问题 jdbc连接mysql问题,请高手赐教 如何格式化一个String为Date对象? Applet的问题 Runnable接口??? java如何用timer类控制每秒触发事件 !!送分100紧急求救!!急急急急急!! 求素数的程序 java新手的几个问题
join() 等待该线程终止。
join(long millis) 等待该线程终止的时间最长为 millis 毫秒。
join(long millis, int nanos) 等待该线程终止的时间最长为 millis 毫秒 + nanos 纳秒。
当你想让某个线程优先执行时,可以调用join()让该线程加入先执行,如果要指定时间,可以设置参数
如果join(3秒),就是说起码给它3秒钟的执行时间。
sleep方法和yield方法要做个比较!线程中调用sleep方法后,本线程停止(进入阻塞状态),运行权交给其他线程。而线程中调用yield方法后本线程并不停止,运行权又本线程和优先级不低与本线程的线程来抢(这里要注意并不是优先级低的就一定抢不过优先级高的,优先级高的只是时间片大一些)。