Java并发编程示例(四):可控的线程中断
在上一节“线程中断”中,我们讲解了如何中断一个正在执行的线程以及为了中断线程,我们必须对Thread动点什么手脚。一般情况下,我们可以使用上一节介绍的中断机制。但是,如果线程实现了一个分配到多个方法中的复杂算法,或者方法调用中有一个递归调用,我们应该使用更好的方式来控制线程的中断。为此,Java提供了InterruptedException异常。当检测到中断请求时,可以抛出此异常,并且在run()方法中捕获。
在本节,我们将使用一个线程查找指定目录及其子目录下文件来演示通过使用InterruptedException异常控制线程中断。
知其然
按照下面所示步骤,实现示例程序。
1.创建一个名为FileSearch的类,并且实现Runnable接口。代码如下:
publicclassFileSearchimplementsRunnable{
2.声明两个变量,一个用于需要查找的文件名,一个用于初始化查找的目录;实现类的构造函数,并用构造函数的参数初始化刚刚声明的两个变量。代码如下:
privateStringinitPath; privateStringfileName;
publicFileSearch(StringinitPath,StringfileName){ this.initPath=initPath; this.fileName=fileName; }
热门推荐
1 泰迪狗狗如何训练
3 狗狗训练图
5 狗狗训练方法
6 训练狗狗不咬人
8 敏捷训练狗狗
10 训练狗狗吃饭
11 泰迪狗狗训练
12 狗狗从多大开始训练
13 狗狗训练学校费用
14 怎么去训练狗狗
15 狗狗训练狗狗
16 狗狗训练教程
17 训练狗狗装死
18 泰迪狗狗的训练方法