栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java多线程(四种方式)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java多线程(四种方式)

一、概念

  1. 进程

                进程:在操作系统中 运行的程序。

                多进程 并发(一起)执行:宏观串行,微观并发


  1. 线程

         线程:是进程中 执行的多个任务,每个任务称1个线程。 如,迅雷下载。

        多线程并发执行:宏观串行,微观并发

  1. 主线程

        现有的程序,从main函数入口执行,是单线程,称主线程。

  1. 线程的组成

        内存: 堆空间(对象) 共享、栈空间(局部变量) 独立

        数据

        功能

        CPU

二、创建线程【重点】

有四种方式:

//1.继承父类 Thread
1> 定义线程类,并覆盖run方法:

public void run(){

​ // 线程任务(功能代码)

}

2> 创建线程对象

主函数中

MyThread t1 = new MyThread();

3> 启动线程

线程对象名.start();// 启动线程,JVM自动调run实现功能


//2.实现接口 Runnable

1> 定义线程目标类,实现Runnable接口,实现run方法:

public void run(){

// 线程任务(功能代码)

}

2> 创建目标对象

MyTarget target = new MyTarget();

3> 创建线程对象

Thread t1 = new Thread(target);

4> 启动线程

t1.start();

//实现Callable接口
与使用Runnable相比,Callable功能更强大:

相比于run()方法,call()方法可以有返回值
call()方法可以抛出异常,被外面的操作捕获,获取异常的信息
Callable支持泛型的返回值
需要借助FutureTask类,比如获取返回结果
Future接口:

可以对具体Runnable、Callable任务的执行结果进行取消、查询是否完成、获取结果等。
FutureTask是Future接口的唯一的实现类。
FutureTask同时实现了Runnable、Future接口,它既可以作为Runnable被线程执行,也可以作为Future得到Callable的返回值。
//第四种可以通过线程池创建

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/573081.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号