社区
其它技术问题
帖子详情
多线程与有限状态自动机(FSM)
wangyangcheng
2005-08-15 12:24:47
看到有不少的系统采用自动机来达到多线程的效果,请各位高手在这讨论一下这两种方法各自的特点:
1.采用自动机的有何特点?
2.两者实现起来的复杂度,性价比如何?
3.os里面会不会采用自动机来实现多线程?
谢谢!
...全文
1101
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》自动化工具,采用模块化分层架构与事件驱动模型,集成像素识别
状态
机、
多线程
按键队列及INI配置管理系统。其核心技术涵盖
有限
状态
自动机
(
FSM
)、自适应延迟算法、负延迟时序同步、资源感知调度与多重安全防护机制,兼顾高性能(CPU<6%,响应<78ms)与合规性,支持社区配置共享与脚本扩展。
有限
状态
机从设计到实践
本文介绍了一个基于Java的
有限
状态
自动机
(
FSM
)框架,详细展示了其项目结构设计、编码规范和快速启动指南,包括非Spring环境下的半自动化及Spring环境下的自动化实现。
有限
状态
自动机
java实现_GitHub - alex2chen/j-statemachine: 基于java实现的
有限
状态
自动机
,轻松,快捷,高效的关联
状态
的扭转...
本文介绍了如何使用Java实现
有限
状态
机,并提供了一个名为j-Statemachine的库,用于简化复杂业务流程中的
状态
管理。通过
状态
机,可以实现代码的可读性、可拓展性和维护成本的降低。项目包括
状态
、事件、行为和流转的定义,以及详细的项目结构和设计编码原则。此外,还展示了如何在非Spring和Spring环境中使用该库,并提供了简单的使用示例。
基于易语言的Aplayer播放器源码深度解析与实战开发
本文深度解析基于易语言的Aplayer播放器架构,涵盖核心模块如APlayer.dll、APlayerUI.dll和npaplayer.dll的工作原理,探讨
状态
机控制、
多线程
解码、网络流媒体支持及跨语言集成技术,揭示其在本地与网络播放中的高性能设计。
C语言电梯模拟与可视化实现项目
本项目用C语言编写模拟电梯运行且带图形化界面的软件,用于教学。涵盖
状态
机、楼层管理、请求处理、调度算法等内容。回顾C语言基础,实现电梯逻辑控制,用
状态
机管理电梯
状态
,设计楼层信息数据结构,处理乘客请求队列,设计并优化电梯调度算法。
其它技术问题
3,881
社区成员
9,044
社区内容
发帖
与我相关
我的任务
其它技术问题
C/C++ 其它技术问题
复制链接
扫一扫
分享
社区描述
C/C++ 其它技术问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章