21、状态机与并发活动的设计模式

状态机与并发活动的设计模式

一、引言

在软件开发中,设计模式已成为捕捉经验教训的流行方式。设计模式是针对特定上下文中设计问题的通用解决方案,它应是被广泛接受而非新颖独特的,其目的是将设计经验传递给新手,而非教软件老手新技巧。

在一系列论文中,提出了一组用于交互任务的模式:
1. 资源任务与资源用户任务 :这是共享单一资源的对偶模式。设计者可以选择将每个资源表示为依次处理请求的任务,或者让资源用户作为任务,通过受保护对象来表示资源。
2. 多资源并发访问 :涉及同时、排他地访问多个共享资源的设计情况,通常解决方案包含资源用户任务。虽然死锁是这类问题需要关注的点,但资源用户任务常可根据编程约定(如锁定顺序)来设计,以防止形成循环等待链。
3. 状态机及相关活动的实现 :状态机被实现为受保护对象。早期的状态机模式在包含定时事件时将其实现为任务,但这意味着如果在后期引入定时事件,实现方式就得改变。而本文提出的模式版本通过定时器任务来实现定时事件。

二、设计哲学:实体 - 生命建模(ELM)

一组模式可以定义一种设计哲学,状态机模式体现了实体 - 生命建模(ELM)的设计方法。它有两个目标:
1. 作为一种建模方法,描述软件的线程架构如何基于问题中的并发结构进行构建。
2. 提倡对并发的限制性使用,旨在消除不必要的线程和上下文切换,通常由单个任务处理软件需应对的问题环境中的每个事件。

在面向对象设计中,类和对象能从领域分析“无缝”过渡到设计和实现。而在 ELM 中,领域的并发特征会被带

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值