Java 基于Runnable接口的线程实例

简介: 本文目录1. 功能2. 代码3. 测试4. 结果

1. 功能

通过实现Runnable接口,开发线程,然后读取文件大小。

2. 代码

读取文件大小:

package org.maoge.thread;
import java.io.File;
/**
 * 读取文件大小
 */
public class ReadFileRunnable implements Runnable {
  private String fileName;
  public ReadFileRunnable(String fileName) {
    this.fileName = fileName;
  }
  @Override
  public void run() {
    File f = new File(fileName);
    if (f.exists() && f.isFile()) {
      System.out.println("[" + fileName + "] length:" + f.length());
    } else {
      System.out.println("[" + fileName + "] not exists");
    }
  }
}
3. 测试
编写测试类:
package org.maoge.thread;
/**
 * 读文件测试
 */
public class ReadFileTest {
  public static void main(String[] args) {
    for (int i = 0; i < 10; i++) {
      ReadFileRunnable writeFile = new ReadFileRunnable("D:\\temp\\" + (i + 500) + ".txt");
      Thread thread = new Thread(writeFile);
      thread.start();
    }
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
4. 结果
因为我们之前通过Java 继承Thread实现线程写了10个文件,所以此处直接输出结果:
[D:\temp\500.txt] length:1000000
[D:\temp\501.txt] length:1000000
[D:\temp\504.txt] length:1000000
[D:\temp\508.txt] length:1000000
[D:\temp\503.txt] length:1000000
[D:\temp\505.txt] length:1000000
[D:\temp\506.txt] length:1000000
[D:\temp\509.txt] length:1000000
[D:\temp\502.txt] length:1000000
[D:\temp\507.txt] length:1000000
相关文章
|
1天前
|
监控 Java 调度
Java并发编程:深入理解线程池
【6月更文挑战第26天】在Java并发编程的世界中,线程池是提升应用性能、优化资源管理的关键组件。本文将深入探讨线程池的内部机制,从核心概念到实际应用,揭示如何有效利用线程池来处理并发任务,同时避免常见的陷阱和错误实践。通过实例分析,我们将了解线程池配置的策略和对性能的影响,以及如何监控和维护线程池的健康状况。
7 1
|
2天前
|
Java API 开发者
探索Java中的Lambda表达式和函数式接口
【6月更文挑战第25天】在Java的世界里,Lambda表达式的引入标志着一种全新的编程范式——函数式编程。本文将通过深入解析Lambda表达式及其与函数式接口的结合使用,带领读者领略这一特性如何简化代码,提升开发效率。
|
1天前
|
存储 缓存 Java
老程序员分享:Java并发编程:线程池的使用
老程序员分享:Java并发编程:线程池的使用
|
1天前
|
IDE Java Linux
在Maven中设置JVM系统参数及Java应用调试实例
在Maven中设置JVM系统参数及Java应用调试实例
10 0
|
1天前
|
Java 编译器
论Java中的抽象类与接口
论Java中的抽象类与接口
|
1天前
|
Java 数据库连接 调度
Java多线程,对锁机制的进一步分析
Java多线程,对锁机制的进一步分析
|
1天前
|
Java
Java多线程notifyAll()方法
Java多线程notifyAll()方法
|
2天前
|
存储 设计模式 并行计算
CopyOnWriteArrayList:深入理解Java中的线程安全List原理和应用
CopyOnWriteArrayList:深入理解Java中的线程安全List原理和应用
|
2天前
|
Java 测试技术 开发者
Java并发编程:深入理解线程池
本文将带领读者深入了解Java中的线程池,探索其内部机制、使用场景以及如何有效地利用线程池来提高程序的性能和可维护性。我们将通过实例演示如何创建和配置线程池,并讨论常见的并发模式和最佳实践。文章旨在为开发者提供实用的线程池应用知识,帮助他们在面对多线程编程挑战时,能够设计出更加高效和稳定的系统。
|
2天前
|
安全 Java 开发者
如何在Java中实现线程安全的单例模式
如何在Java中实现线程安全的单例模式