14、并发编程与面向对象并发语言解析

并发编程与面向对象并发语言解析

并发编程的多维度探讨

并发编程是一个复杂且多面的领域,涉及多种技术和理论。在并发编程中,共享变量并发是一个重要的概念。公平性是并发编程里一个值得关注的问题,例如 x:=0 || while x ̸= 0 do i:=1+1 od 这个例子,右边循环是否终止取决于调度器是否公平,即能否确保左边的赋值操作最终执行。

对于并发的处理,不同领域有不同的方式。在数据库管理系统(DBMS)中,并发的处理与大多数高级编程语言(HLLs)有很大差异。像 Java 这类编程语言,需要程序员负责获取和释放锁以避免数据竞争;而数据库是一个巨大的共享变量,DBMS 会自动处理冲突更新的检测和恢复。

在并发编程的研究中,有许多不同的方法和理论。例如,Plotkin 展示了如何使用幂域来处理并发;还有人提出了恢复(resumptions)的概念;游戏语义也是处理并发的一种途径。更激进的做法是尝试完全摆脱共享变量,如 Tony Hoare 和 Robin Milner 各自开发的进程代数,以通信为主要关注点。不过,进程代数也无法避免干扰问题。此外,许多研究人员喜欢使用时态逻辑来推理并发程序。

面向对象编程在并发中的优势

面向对象编程(OOLs)的核心思想最早体现在 Simula 语言中,它相较于 ALGOL 有诸多优势:
- 模拟方便 :能轻松创建任意数量的类实例,便于在模拟中为每个物理实体对应一个内部对象。
- 数据封装 :对象可封装“抽象数据类型”,内部表示的改变不会影响使用规定接口的程序。
-

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值