JAVA 多线程

1、基本概念
 1、程序

是完成特点的任务,用用某种语言编写的一组指令的集合,指一段静态代码,静态对象。

2、进程

是程序的一次执行过程。

3、线程

什么时候需要多线程:

(1)、程序需要通知执行两个或多个任务。

(2)、程序需要实现一些需要等待的任务时,如用户输入、文件读写操作、网络操作、搜索。

(3)、需要一些后台运行的程序时。

多线程的优点:

(1)、提高应用程序的响应。对图形化界面根由意义,可增强用户体验

(2)、提高计算机系统的cpu的利用率

(3)、改善程序结构,将即长有复杂的进程分为多个线程,独立运行,利于理解和修改。

2、线程的创建和使用
多线程创建:

方式一:(通过继承Thread类实现)

1、通过创建继承Thread类的子类,重写run()方法(如果需要多个线程,就创建几个子类(可以创建匿名子类))

2、在run()方法中写出需要同时进行的代码

3、在主线程中创建子类对象

4、调用子类对象继承的Thread类的start()方法执行

方式二:(通过Runnable接口实现)

1、通过创建引用接口的实现类,重写run()方法。

2、在run方法中写出同时进行的代码

3、在主线程中创建实现类

4、再将实现类作为Thread的构造参数传递。

5、在调用Thread类的start()方法执行

方式一与方式二对比:

优先选择方式二。。。

原因:

1、方式一通过继承实现多线程,继承中只能单一继承,而接口可以实现多个,造成功能短缺。

2、实现的方式更适合来处理多个线程所有共享数据的情况

相同点:

方式一和方式二都是通过实现Runnable接口实现的

根据D:\\ 三国志 文本信息 并输出中文
  滚滚长江东逝水 ,浪花淘尽英雄:

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) {
        String filePath = "D:\\三国志";

        try {
            FileInputStream fis = new FileInputStream(filePath);
            InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
            BufferedReader br = new BufferedReader(isr);

            String line;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }

            br.close();
            isr.close();
            fis.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

上述代码读取指定路径的文本文件(D:\三国志),使用UTF-8编码将其内容转换为中文并逐行输出。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值