首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ada83或Ada95是否定义了支持多任务处理的内存模型?

Ada83或Ada95是否定义了支持多任务处理的内存模型?
EN

Stack Overflow用户
提问于 2013-07-04 04:36:46
回答 2查看 298关注 0票数 1

随着对C和C++的“最近”更改添加了内存模型(类似于Java和C#),我想知道Ada83或Ada95对并发的内置支持是否也定义了内存模型。

有没有人知道Ada是否定义了一个内存模型?

额外的问题: Ada83是第一个为共享状态并发性提供内置支持的通用编程语言吗?

EN

回答 2

Stack Overflow用户

发布于 2013-07-04 06:15:32

我认为在你所问的意义上最接近记忆模型的是手臂的Dynamic Semantics部分。

Ada 83例有pragma Shared

Ada 95 replaced this具有编译指示原子、易失性、Atomic_Components和Volatile_Components;Ada 2005与(在更正中)编译指示独立和Independent_Components相同(即,被引用的对象或其每个组件都是可独立寻址的)。

Ada2012用aspects替换了编译指示,原因很好,但不是直接相关的原因:

代码语言:javascript
复制
Imported_Variable : Integer with
  Import, Convention => C, External_Name => "exported_variable", Volatile;
票数 4
EN

Stack Overflow用户

发布于 2013-07-04 15:37:54

关于任务和共享内存,我认为你应该看看Protected Types。对于并发,这允许不同的线程(任务)共享一个资源,而不需要显式的互斥。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17457681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档