关于“并发”、“并行”、“串行”的一点理解

1.并发:

        指同一时间点可能有多个线程同时做同一件事情,例如抢票,商品秒杀等(多个线程会同时操作库存这个资源),这种情况下需要考虑被抢占的资源的安全性问题,即线程安全问题。(多个线程对应同一个资源)

2.并行:

        指同一时间点可能有多个线程同时做不同事情,比如文件压缩等(把整个文件按容量平分为4份,4个线程分别压缩其中一份,都处理完成后再汇总成一个压缩文件),各个线程所需要的资源并不相同,所以不会造成线程安全问题。(多个线程对应不同资源)

3.串行:

        指同一时间点只有单个线程做一件事情,例如我们对某一个资源加锁后,并发环境下对这个资源的操作就相当于时串行执行了,因为同一个时间点内只有一个线程能获得资源的锁,其他的线程只能等待,悲观锁解决线程安全问题的思路就是把一个并发问题转换成一个串行的问题。(单个线程对应同一个资源)

4.注意点:

        不同的线程并不等同于不同的CPU核心,这点不要混淆!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值