ODE引擎运行时利用Java并发对象(Java Concurrent Objects,Jacob)来完成过程实例的状态表示和并发性管理。
Jacob提供了应用级的并发机制,它不依赖于线程,这样就降低了系统的开销。
ODE的官方网站提供了一份Jacob的教程,粗略的读了以下,略知一二。
希望有兴趣的朋友一起探讨,或者明白的朋友,不吝赐教。
继续研究中.....http://ode.apache.org/jacob.html
基本原理
先看一个例子
void process(order) {
billingService.bill(order.billing);
shippingService.ship(order.product, order.shipping, self);
shipping = receive("shipping")
order.customer.send(shipping.details);
}
java 伪代码看起来没什么问题,但是存在缺陷:
1、程序执行过程中出现问题,用户不得不再次发送订单。
2、等待线程过多的时候会导致java虚机down掉。
做如下修改
void process(order) {
billingService.bill(order.billing);
shippingService.ship(order.product, order.shipping, self);
listenOn("shipping", part2);
}
void part2(shipping) {
order.customer.send(shipping.details);
}
看起来会好一些,
but still has a lot of points of failure, where you're not sure if you actually billed the customer and shipped the product or not.
分享到:
相关推荐
matlab运用ode45的简单调用解微分方程范例。
具有完全GPU支持和O(1) - 内存反向传播的可区分ODE求解器
ode45的使用,关于dydt,关于ode45的参数,等等
ODE中文参考资料ODE中文参考资料ODE中文参考资料ODE中文参考资料
三自由度振动系统simulink模型求解以及状态方程的ode45求解器求解
ode的碰撞检测中文学习资料,想要使用ode物理引擎做碰撞检测的朋友可以看看
大牛所做的非常经典的ode教程,含各种高级ode内容,值得拥有~~~
ODE(Open Dynamic Engine)是一款动力学仿真软件。可以自由下载,然而如何入门学习是大多数人的一个难题。本程序来自日本人所写的ODE动力学仿真一书的例子。具有很强的针对性!
ODE的关键组成部分包括ODE BPEL编译器,ODE BPEL引擎 Runtime,ODE数据访问对象( DAOs ) ,ODE整合层(ILS) ,以及用户工具。
[E3ODE专用MM] multiMAN 4.50.01 BASE with SHOWTIME4MM for BD-R and ODE 这个是E3ODE硬破版专用MM 使用时需接网线,不然卡开头.
对非线性系统进行预测控制时,首先要对非线性方程进行求解。通过网上搜查得知matlab提供了ode45(常微分方程的数值求解)。
MATLAB中函数ODE45的使用及详解。帮助深入认识ODE45
动力学引擎ODE 0.13最新版本 The Open Dynamics Engine (ODE), Copyright (C) 2001-2007 Russell L. Smith. ------------------------------------------------------------------------- ODE is a free, ...
有关MATLAB中的ODE命令,用以解决线性微分方程的编程
ODE45_ODE45_常微分方程_源码.zip
通用 数据库 连接工具 ODE 通用 数据库 连接工具 ODE 通用 数据库 连接工具 ODE 通用 数据库 连接工具 ODE
ode45 matlab使用方法ode45 matlab
行星齿轮动力学分析微分方程的matlab中ode45求解
Apache ODE - 架构介绍
ode,也就是open dynamics engine,为开源动力学求解引擎,其网址为: http://ode.org/ode.html ode主要包含两部分内容,一部分是动力学仿真(主要是刚体),另一部分是碰撞检测。