软件开发中的并发

并发作用:

  1. 在交互式应用中,快速响应用户的请求,提高感知响应的时间

  2. 充分利用硬件资源,计算资源

      3. 简化应用设计

并发坏处:

  1. 难于测试

  2. 并发应用运行在复杂的环境下,软件不确定性增多

  3. 处理同步,通信的问题,增加编程复杂性

  4. 并发开销对性能的影响,包括上下文环境切换,同步等

并发需要考虑的三个因素:

  1. 任务分解

  2. 同步

  3. 通信

并发层级:

  1. 指令级并发

  2. 线程

  3. 进程

 

在一般应用中,主要有应用层级的并发和数据库层级的并发(J2EE)。下面主要讨论数据库层级的并发。

数据库层级的并发的本质问题:

  1. 丢失更新

  2. 不一致读

 

根据并发冲突的频率和严重性,并发控制方式主要有两种:

  1. 乐观并发控制(冲突检测)

  2. 悲观并发控制(冲突避免)

 

处理并发的主要方式是事物,事物的四个基本原则:ACID。

 

在悲观并发控制方式下,会出现死锁,即在得到锁的情况下,还需要更多的锁。

 

死锁控制方式:

  1. 死锁出现时,解锁。如设置超市控制

  2. 避免死锁,如一个事物只申请一种锁资源,锁未释放时,不申请新的锁

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值