线程知识点总结

一、线程概念

进程:简单说,系统中运行的一个应用程序就是一个进程

线程:轻量级进程,时序调度的基本单元。

轻量级:比进程耗费的资源少,运行速度更快。

进程之间是相互独立的,资源不共享。但线程之间资源共享。

线程之间切换容易,进程之间切换更加耗费资源,代价更高。

时序调度:

        操作系统对任务执行时间先后的调度过程。

        线程就是时序调度的基本单元。

        基本的调度方式:抢占式

        说白了就是抢占cpu的时间片。

并发与并行

并行:是指两个或多个事件在同一时间发生。

并发:同一时间间隔内,两个或多个事件交替发生。

二、线程的风险

线程安全性问题:

多线程环境下,程序运行结果和预期的不一样。但是单线程下没问题。

伴生现象:不太容易复现,每次运行的结果都可能不太一样。

线程的活跃度问题:

死锁:互相持有对方需要的锁,相互等待释放。

饥饿:某个线程较长时间,或者很难得到执行。始终抢不到cpu的时间片。

活锁:线程拿到了锁,却又相互释放,不去执行。

线程的性能问题:

主要是线程间切换上下文的开销

切换上下文的时候,线程a需要保存它当前的运行状态,下次抢到cpu时间片,继续运行,需要先恢复状态,然后再继续向下执行,这样一来就肯定会有性能开销,可能还跑不过单线程的运行效率。

三、如何创建线程

创建线程的方式:

1、实现Runnable接口,这个接口里只有一个run方法。

2、继承Thread类

3、实现callable接口,带返回值

四、线程状态

五、线程的基本操作

六、线程安全性

                        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值