首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ActiveScaffold线程安全

ActiveScaffold线程安全
EN

Stack Overflow用户
提问于 2013-08-23 00:18:47
回答 1查看 1K关注 0票数 25

多个源声称ActiveScaffold不是线程安全的:

由此,我收集到控制器级别的配置更改和授权并不是线程安全的。如果不使用ActiveScaffold的这些组件,那么考虑应用程序线程安全是否安全?ActiveScaffold中还有其他不安全的特性吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-08 09:36:30

不幸的是,在这个问题上没有太多的正式文档,但是开发人员有两个有用的引语,它们可能会在这里帮助您。首先,开发人员在2010年,这条线上声明:

在控制器中,使用marked_records。标记的记录存储在会话中,因此只能从控制器访问它们。模型方法是从当前控制器获取模型方法的黑客,但它使用的是不安全的类变量。 ActiveScaffold不是线程安全的自动取款机,但是我以后会修复当前的非线程安全代码,我不想添加更多的非线程安全代码。如果需要模型方法,我将使用线程变量添加它们。

这表明最初的意图是不存在线程安全。然而,它正在发展之中。

在这一点之后,关于这个问题的讨论似乎变得平静了,我找不到任何进一步的正式声明。然而,评论最新版本的人说,唯一的线程问题是,为了安全起见,对active_scaffold_config的更改必须放在某种锁中,而系统的其余部分现在应该是线程安全。

请注意,我找不到官方文档来证明这一点,它只是基于已经阅读了代码库的用户的评论,所以我不会保证总是这样,但是考虑到开发人员的评论说不会增加更多的非线程代码,这可能是一个安全的选择。

最后,注意这条线,它暗示代码库现在几乎是线程安全的,只要您采取一些预防措施并在几个地方使用变通方法,就可以使用线程。

很抱歉,在这里我没有一个更权威的答案,这方面的文档很少,而且阅读代码也很难确定,但这是我最能确定的(似乎人们已经成功地在生产中成功地使用了线程)。

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

https://stackoverflow.com/questions/18392769

复制
相关文章

相似问题

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