多线程基础

线程是操作系统调度的最小单位,是进程中的执行单元。进程相互独立,拥有各自的虚拟空间,而同一进程的线程共享内存。在Java中,创建线程可以通过继承Thread、实现Runnable接口或使用Lambda表达式。通常推荐使用Runnable,因为它提供更好的扩展性。
摘要由CSDN通过智能技术生成

什么是线程?进程和线程的联系与区别

进程就是一个非常大的工厂,而线程,就是其中的工人,工厂中有很多的工人,工人是能够指挥的最小单位,这就得出了1.线程是操作系统调度的最小单位,

一个工厂中可以有很多个工人,当然有的小的家庭作坊,可能也只有一个工人,这就得出了2.进程包含线程,一个进程里面可以有一个线程,也可以有多个线程 ,

在工厂里,一些重要员工生病不能工作,可能就会导致整个工厂不能工作,但是这个工厂不能工作了,其他的工厂一般不会收到影响这样我们就得出3.进程之间是相互独立的,各自有各自的虚拟空间,同一个进程的多个线程之间,共用一个内存空间以及文件资源,一个进程挂了,其他进程一般没事,但是一个线程挂了,很有可能整个进程崩掉。

搭建工厂的成本是很高的,但是个人工作的成本就更低,所以说4.线程更轻量

哇,线程这么好,那我该怎么创建一个线程呢

众所周知,Java中有这丰富标准库,其中Thread类就是用来表示/操作线程的

方法一:继承法

使用一个类,继承Thread类,并且重写其中的run() 方法从而实现自己想要的代码逻辑

方案二:实现接口法!

实现Runnable接口,再创建Thread是传入Runnable实例

方法三:匿名内部类!

就是前面两种写法的 只不过使用了匿名内部类

方法四:java8新特性! Lambda表达式!

瓦,这么多方法,我应该用什么方法?

通常认为Runnable了这种写法更好,因为接口定义了一种规范,Runnable就是描述任务的接口,至于这个任务怎么执行,谁来执行,就具有了更强的拓展性

所以,猴子真的会写代码吗?

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值