2014-02-24 36 views
0

软件工程中术语“任务”和“事务”之间是否有任何实际区别?任务与交易 - 任何实际的区别?

一些网络搜索产生的结果对于CICS来说太具体了。虽然我关心的领域是数据库管理系统(图形数据库,对象数据库等),但答案越广泛,答案越好。

+1

术语任务AFAIK不属于数据库术语。另一方面,交易这一术语与数据库(ACID等)直接相关 –

+0

那么这是否意味着它们各自的系统之间存在某种关系,或者说没有关系或者部分关系? –

+0

我见过一层有交易的概念,上层有一个任务的概念。但试图找出1是否是另一个的包装是一个困难的任务,因为中间层。 –

回答

0

术语“任务”是广泛适用于一些软件工程的概念,下面只是它的一些含义:

  1. 在最高层,任务根本的东西,就是要完成
  2. 在并发编程中,任务通常是执行单元。无论是批处理作业中的过程,线程还是其他内容。
  3. 具体框架可能会使用更专业的术语。例如,在Seaside Web Framework(用Smalltalk编写)中,一个任务(粗略地说)是一个网站,其行为就像桌面计算中的向导。

在另一方面,术语“交易”几乎总是传达其数据库的语义(除了域特定的含义,当然,如会计软件金融交易)。因此,一个事务通常可以被启动,提交和中止,有时会重新启动。

事务可以用于并发编程,就像(2)中的任务一样。 对此的典型示例是Software transactional memory,其中此行为是显式的。 GemStone/S OODB就是这样:一个数据库,同时是一个软件事务性内存实现。在这里,任务和交易实际上是相同的。

+0

非常有帮助的解释,谢谢。 –

相关问题