Java多线程

一.进程和线程

进程:操作系统进行资源分配的基本单位,最通俗的讲进程就是正在运行的应用。
线程:是指进程中单一任务的控制流。

单线程和多线程

单线程:执行完第一个再执行第二个。例如如果同时执行两个线程,通过总线进行交互,争抢CPU资源,谁先抢到谁先输出。
多线程:在同一程序中有多个顺序流在执行。
时间片轮转:执行一段时间写入内存进行保存,谁先抢到谁先执行,另一个等待,等待过程中会丢失数据,造成计算机资源浪费。所以就出现了Cache三级缓存,Cache的一个基本特点就是读写数据的速度快,能够比较好的匹配CPU的速度。

二.锁

锁也是一块内存空间。
悲观锁:在多线程中存在大量竞争,争抢同一块内存,抢到资源的线程会锁死内存资源,不允许线程进行争抢。
乐观锁:不认为有大量线程同时争取一块内存资源,以版本号为基础进行操作。
锁的升级过程是从乐观锁升级到悲观锁。
悲观锁适用于多线程,乐观锁适用于少线程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值