Java编程那些事儿96——多线程使用示例1 - 编程入门网
Java编程那些事儿96——多线程使用示例1时间:2010-03-15 csdn 陈跃峰12.3 多线程使用示例 多线程技术对于初学者来说,是编程思维的一种跳跃,在实际学习时,一定要熟悉线程的基础知识,掌握线程的实现方式,然后就是开始大量的进行实践,从实践中领悟线程编程的奥妙以及实现的原理。 下面通过几个常见的例子演示多线程的基本使用。 12.3.1 定时炸弹 定时炸弹是在电影中常见的一种装置,在该部分就使用多线程技术模拟该功能。实现的功能为:在程序启动以后进行倒计时,当60秒以后程序结束,在程序运行时可以在控制台输入quit控制线程(炸弹)的暂停。 在该示例程序中,开启了一个系统线程(main方法所在的线程),该线程的作用是启动模拟定时炸弹的线程,并且在控制台接受用户的输入,并判断输入的内容是否为quit,如果是则结束模拟定时炸弹的线程,程序结束。 首先来看一下使用继承Thread类的方式实现多线程时的代码示例,代码如下:
Java编程那些事儿96——多线程使用示例1(2)时间:2010-03-15 csdn 陈跃峰在该示例代码中,TestTimeBomb1类中包含的是系统线程,在系统线程中启动模拟定时炸弹的TimeBombThread线程,然后在TestTimeBomb1中接收用户的控制台输入,如果输入的内容是quit则结束线程,程序结束,否则忽略用户的输入,继续等待用户输入。按照前面介绍的IO知识,在接收控制台输入时readLine是阻塞方法,也就是该方法在未获得用户输入时会阻塞系统线程的执行,使系统线程进入到等待状态,等待用户输入。而TimeBombThread实现的逻辑是每隔1秒钟减少一次数值,并输出剩余时间,当剩余时间为零时,结束TimeBombThread线程。这样两个线程就同时工作了,系统线程等待用户输入的同时,模拟定时炸弹的线程继续执行,这样程序中就包含了两个同时执行的流程。 在这里需要特别说明的是,如何控制线程的结束?在本程序中,使用的是让线程自然死亡的方式,在实际控制线程时,当线程的run方法执行结束则线程自然死亡,所以在本程序中通过控制isRun变量使得线程可以自然结束,从而释放 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |