在多线程环境下,如果某个类是有状态的,那我们在使用前,需要保证所有该类的实例对象状态一致,否则会出现意向不到的bug。下面是通用线程安全状态机的实现方法。 这种模式利用compareAndSet方法来操作枚举的原子引用,关于compareAndSet方法,其内部是CAS算法,即:Compare an ...
分类:
编程语言 时间:
2017-10-09 21:04:09
阅读次数:
210
WAF(Web Applicantion firewall, Web防火墙)的实现有多种手段,基于regex(Regular Expression,正则表达式),然后编译成一个大状态机是目前主流的方式。当然,阿拉云安全的主架构师讲了个ppt,直接说regex来做防火墙有不合理的地方,理由是使用reg ...
分类:
其他好文 时间:
2017-10-08 13:04:40
阅读次数:
158
Idle状态:即空闲状态,不接受任何BGP的连接,等待Start事件的产生,如果有start事件产生,若有start事件产生,系统开启ConnectRetry定时器,向邻居发起TCP连接,并将状态变为Connect。Connect状态:即连接状态,在Connect状态,系统会等待TCP连接建立完成。如果TCP状态为estab..
分类:
其他好文 时间:
2017-10-01 22:07:55
阅读次数:
253
这次我们用博途来写上次的控制任务,发现还是有些不一样。和AB比,还是有点复杂啊。 ...
分类:
其他好文 时间:
2017-10-01 17:36:45
阅读次数:
147
2017年09月01日正式入职。 之前的比较正式的实习是在Robotron Datenbank-Software公司IT支持部写了一个工作流的申请物件系统,毕设做的是将该系统与公司的其他信息系统整合起来。 该系统的重点在于需要用到一个状态机。每个流程的点都加上一个status来维持该点的信息,包括读 ...
分类:
其他好文 时间:
2017-09-30 13:37:01
阅读次数:
144
oSIP oSIP的开发开始于2000年7月,第一个版本在2001年5月发 布,到现在已经发展到3.x了。它采用ANSI C编写,而且结 构简单小巧,所以速度特别快,它并不提供高层的SIP会话 控制API,它主要提供一些解析SIP/SDP消息的API和事务处理 的状态机,oSIP的作者还开发了基于o ...
分类:
Web程序 时间:
2017-09-30 13:30:14
阅读次数:
303
1》各种传输方式到最后都会转化为能够通过网络发送的数据格式: 1>文本格式; 2>二进制格式;2》TCP三次握手连接,四次断开,连接时客户端是主动打开,服务器是被动 打开,处于监听状态; TCP有限状态机: 3》防火墙:可能是硬件,也可能是软件; 规则:匹配标准和处理方法(除了制定的规则,还应有一种 ...
分类:
其他好文 时间:
2017-09-25 00:47:00
阅读次数:
189
Task创建无返回值 Task是.netframwork3.0重新分装的多线程类。原因以前的多线程(thread threadpool)不好用。(.net framwork也是的发展的,现在的EF,刚开始是一个edmx文件,现在的code first,ef轻量级。但是其他有的技术也是死掉了) Tas ...
分类:
编程语言 时间:
2017-09-24 23:45:29
阅读次数:
679
上升沿检测是硬件描述中比较重要的一个概念,但也相对简单,本文主要是借助该课题来加深对状态机实现机制的理解。全文主要整理自《基于Nios II的嵌入式SoPC系统设计与Verilog开发实例》,所有源代码均直接复制原书,仅做简单测试,另有文中最后关于两种状态机的比较尚不太理解,原本摘录供日后学习 ...
分类:
其他好文 时间:
2017-09-23 15:18:06
阅读次数:
185
本文从简单的例子入手,逐步演变成非常复杂的程序。 在简明 状态模式(5.8)中,状态之间的变换由外界控制,或者说,多种状态是分割的、无关的。状态模式最有趣的地方正是讨论其状态的变迁。 1.引子 空调(air-condition)的遥控器有两个按钮(更多的按钮在后面的例子中引入),power/电源键和 ...
分类:
编程语言 时间:
2017-09-22 11:50:14
阅读次数:
351