JAVA多线程

文章介绍了进程与线程的概念,强调线程是独立的执行路径,可以有多个。在单CPU系统中,多线程是通过快速切换产生并发执行的错觉。创建多线程的方式包括继承Thread类、实现Runnable接口以及实现Callable接口。最后提到了使用ExecutorService进行线程管理,并通过Future获取返回值。
摘要由CSDN通过智能技术生成

一个程序开启了就是一个进程,进程里执行的是线程

进程只有一条,线程可以有很多条

线程就是独立的执行路径

下图为单线程调用run()方法,执行完成后,在回到主线程,多线程执行主线程的同时,调用run()方法,并且主线程不停止,同时进行

注意:很多多线程是模拟出来的,真正的多线程是指多个cpu,即多核,如:服务器。模拟出来的多线程,即在一个cpu下,在同一个时间点,cpu只能执行一个代码,因为切换的很快,所以就有同时执行的错觉。

多线程的几种创建方式:

  1. 继承Thread类

创建一个类并继承Thread类,重写run()方法,创建线程对象,调用start()方法启动线程

new Thread.start()

  1. 实现Runnable接口

创建一个类实现Runnable接口,实现run()方法,创建线程对象,调用start()方法

new Thread(创建的实现类对象).start()

  1. 实现Callable接口

实现Callable接口,需要返回值类型

重写call()方法,需要抛出异常

创建目标对象

创建执行服务:ExecutorService ser = Executors.newFixedPool(对象数量);

提交执行:Future<Boolean>result=ser.submit(目标对象);

获取结果:boolean b = result.get();

关闭服务:ser.shutdownNow();

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值