Java编程那些事儿95——多线程实现方式2 - 编程入门网
tt1和mtt2.而程序的执行结果是:
Java编程那些事儿95——多线程实现方式2(4)时间:2010-03-15 csdn 陈跃峰从程序的执行结果可以看出,在Test4类中mtt1和mtt2都被启动,按照前面的schedule方法介绍,这两个线程均会在线程启动以后1000毫秒后获得执行。但是从实际执行效果却可以看出这两个线程不是同时执行的,而是依次执行,这主要是因为一个Timer启动的多个TimerTask之间会存在影响,当上一个线程未执行完成时,会阻塞后续线程的执行,所以当线程1执行完成以后线程2才获得了执行。 如果需要线程1和线程2获得同时执行,则只需要分别使用两个Timer启动TimerTask线程即可,启动的示例代码如下:
在该示例中,分别使用两个Timer对象t1和t2,启动两个TimerTask线程对象mtt1和mtt2,两者之间不互相干扰,所以达到了同时执行的目的。 在使用上面的示例进行运行时,由于Timer自身的线程没有结束,所以在程序输出完成以后程序还没有结束,需要手动结束程序的执行。例如在Eclipse中可以点击控制台上面的红色“Teminate”按钮结束程序。 12.2.4 小结 关于线程的三种实现方式,就简单的介绍这么多。其实无论那种实现方式,都可以实现多线程,在语法允许的前提下,可以使用任何一种方式实现。比较而言,实现Runnable接口方式要通用一些。 只是从语法角度介绍线程的实现方式,还是无法体会到线程实现的奥妙,下面将通过几个简单的示例来体会线程功能的强大,并体会并发编程的神奇,从而能够进入并发编程的领域发挥技术的优势。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |