社区
其它技术问题
帖子详情
多线程与有限状态自动机(FSM)
wangyangcheng
2005-08-15 12:24:47
看到有不少的系统采用自动机来达到多线程的效果,请各位高手在这讨论一下这两种方法各自的特点:
1.采用自动机的有何特点?
2.两者实现起来的复杂度,性价比如何?
3.os里面会不会采用自动机来实现多线程?
谢谢!
...全文
1103
17
打赏
收藏
多线程与有限状态自动机(FSM)
看到有不少的系统采用自动机来达到多线程的效果,请各位高手在这讨论一下这两种方法各自的特点: 1.采用自动机的有何特点? 2.两者实现起来的复杂度,性价比如何? 3.os里面会不会采用自动机来实现多线程? 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fixopen
2005-11-30
打赏
举报
回复
真的,到现在为止我还没搞清楚楼主说的状态机是什么。
bluesen
2005-10-11
打赏
举报
回复
关键要遇到相关的应用,在各种模式下写过程序就明白了。再一次推荐我的文章:
http://www.bluespace.com.cn/koodoo/bbs/showdetail.asp?boardid=a&id=113&page=4
我觉得在其它领域也有参考价值。
fixopen
2005-10-11
打赏
举报
回复
自动机!多线程!
自动机实现的多线程?
什么呀,看不懂,有人能解释解释么。这两个概念怎么搭界了?
lander9999
2005-10-10
打赏
举报
回复
是不是可以用一个时钟中断程序来维护管理所有的线程?时钟中断产生时,根据当前线程状态判断是不是要把他挂起来.或者是继续运行.
deping_chen
2005-10-10
打赏
举报
回复
看到有不少的系统采用自动机来达到多线程的效果
===========================================
没听说呀,只听说用确定性有穷状态自动机(以下简称自动机)实现词法扫描程序,我也曾用它实现类似AutoCAD的命令如line、arc等的处理程序。
用单线程实现多线程的效果,例如一边进行后台处理,同时还能响应用户命令,有如下方法:
方法1:可以在后台处理程序的循环里加入while(PeekMessage(...)){TranslateMessage(...);DispatchMessage(...);}
方法2:利用计时器消息处理后台任务。因为计时器消息的优先级较低,而且重复的计时器消息会被丢弃。
如果真的要在内核单线程中实现多线程,可以使用用户多线程库,这样可以简化程序逻辑。
redleaves
2005-10-08
打赏
举报
回复
CPU本身就是状态机.....
laomai
2005-10-08
打赏
举报
回复
哈哈,才发现原来是矛盾发的帖子。
矛盾,好久没看你上论坛了,最近还好么?
laomai
2005-10-08
打赏
举报
回复
先看看,呵呵
SydPink
2005-10-05
打赏
举报
回复
我怎么觉得这二者没什么像的地方啊?如果在只支持单CPU的系统上,
状态机是可以模拟多线程,因为CPU就一个啊。也只是将线程的挂起和工作也当
成状态的时候,
但是在支持多CPU的系统上,状态机就没有多线程的威力了。
wangyangcheng
2005-10-05
打赏
举报
回复
回复人: SydPink(Miss Syd.Barrett) ( ) 信誉:100 2005-10-05 00:46:00 得分: 0
我怎么觉得这二者没什么像的地方啊?如果在只支持单CPU的系统上,
状态机是可以模拟多线程,因为CPU就一个啊。也只是将线程的挂起和工作也当
成状态的时候,
但是在支持多CPU的系统上,状态机就没有多线程的威力了。
----
我们的系统在小型机上,仍是用的状态机而不是多线程。
性能也不能说比多线程差。
wangyangcheng
2005-10-05
打赏
举报
回复
To:lander9999
----
确 实有在模 拟 多 线 程,至于你提出的这个问题,我还不知道如何解决。
guhanxp
2005-10-04
打赏
举报
回复
"写程序和过日子是一样的"
我喜欢
lander9999
2005-09-22
打赏
举报
回复
是不是用单线程来实现多线程的工作? 那是不是要把以前每个线程的工作拆成一份份的,既一个个状态
然后单线程执行时轮流执行那些分成若干块的工作?如果在某一个"线程"的状态比较费时,那所有的"线程"都停住了?如何强制中止一个"线程"? 就象操作系统一样,不会因为某一个线程比较时,就让所有的线程都停下来?
你要做的只能是共享式"多线程"吧? 呵呵
bluesen
2005-09-21
打赏
举报
回复
看看我以前写的一篇文章,原来是讨论IVR的状态机的,也许可以参考。
把状态机呈现给用户是拙劣的设计--从历史角度再论“状态机”:
http://www.bluespace.com.cn/koodoo/bbs/showdetail.asp?boardid=a&id=113&page=4
sharkhuang
2005-08-21
打赏
举报
回复
状态机还是常用的比如tcp的状态机 进程的状态机
winux0
2005-08-19
打赏
举报
回复
说得那么玄乎,自动机一个基本观点就是状态迁移罢了
这一点正好可以和线程/进程的状态迁移联系起来
无论什么样的线程/进程,他都是一个从死亡到死亡状态迁移过程
"写程序和过日子是一样的"
tb01412
2005-08-19
打赏
举报
回复
我还是第一次听说自动机!!!唉,无知啊!!!!
D3KeyHelper技术架构深度解析:基于AutoHotkey的游戏自动化引擎设计与实现
在游戏自动化领域,从简单的按键脚本到智能
状态
感知系统的演进,标志着技术方案从"机械重复"向"情境智能"的转变。D3KeyHelper作为一款基于AutoHotkey开发的《暗黑破坏神3》自动化工具,不仅解决了玩家在长时间高强度游戏中的物理疲劳问题,更通过**
状态
机设计**、**像素识别算法**和**
多线程
调度系统**,构建了一套完整的游戏自动化技术栈。该项目面向技术爱好者和进阶玩家,提供从底层原理
有限
状态
机从设计到实践
基于java实现的
有限
状态
自动机
,轻松,快捷,高效的关联
状态
的扭转。 背景 在日常的开发中,我们有些业务单据有非常复杂流程(它有很多
状态
),如果靠传统的全局属性然后通过swich和if来判断的话,扩展性差,重复代码多。通过编写一个
状态
管理库来解决
状态
变化的优点有: 代码整洁,可读性强 易拓展,可复用 维护成本小
有限
状态
机
有限
状态
机(Finite-state machine,
FSM
...
有限
状态
自动机
java实现_GitHub - alex2chen/j-statemachine: 基于java实现的
有限
状态
自动机
,轻松,快捷,高效的关联
状态
的扭转...
背景在日常的开发中,我们有些业务单据有非常复杂流程(它有很多
状态
),如果靠传统的全局属性然后通过swich和if来判断的话,扩展性差,重复代码多。通过编写一个
状态
管理库来解决
状态
变化的优点有:代码整洁,可读性强易拓展,可复用维护成本小
有限
状态
机
有限
状态
机(Finite-state machine,
FSM
),又称
有限
状态
自动机
,简称
状态
机,是表示
有限
个
状态
以及在这些
状态
之间的转移和动作等行为的数学...
C 语言工业级通用组件手写 07:事件驱动
状态
机
本文提出了一种极简通用的事件驱动型
状态
机框架,用于解决嵌入式工控、物联网设备开发中if/else嵌套导致的代码臃肿问题。该框架将业务流程解耦为
状态
、事件和跳转表三要素,通过表驱动方式实现
状态
流转,具有逻辑清晰、维护简单、扩展性强等特点。文章详细介绍了
状态
机的工作原理、设计规范、完整实现代码以及典型应用场景,并提供了设备
状态
流转的实战示例。该框架零依赖、轻量化,可直接嵌入工业项目,有效解决复杂业务逻辑维护难题,是嵌入式开发的架构基石。
基于易语言的Aplayer播放器源码深度解析与实战开发
Aplayer 看似只是一个小小的播放器,但它所蕴含的设计思想却一点也不“小”:
状态
机、
多线程
、接口抽象、自适应缓冲……每一个模块都在诉说着一个关于“稳定性”与“可扩展性”的故事。更重要的是,它证明了即使是基于易语言这样的“非主流”平台,只要架构合理、设计严谨,一样可以构建出媲美工业级水准的多媒体系统。也许下一个惊艳世界的播放器,就诞生于你我之手 🚀✨ 所以,还等什么?打开 IDE,开始你的改造之旅吧!本文还有配套的精品资源,点击获取。
其它技术问题
3,881
社区成员
9,044
社区内容
发帖
与我相关
我的任务
其它技术问题
C/C++ 其它技术问题
复制链接
扫一扫
分享
社区描述
C/C++ 其它技术问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章