受线程影响的全局变量

问题描述:

全局变量如何在oracle中使用线程安全? 我的场景是同时用户可以访问一个包含全局变量的oracle包/程序,我需要为每个用户分别备份全局变量值。 每个用户都属于不同的java会话,实习生调用这个db包受线程影响的全局变量

Oracle是否在oracle会话中产生了线程。这些线程可以将值赋给全局变量,是否可以将值更改为其他用户的线程?

请建议

您的问题不存在。全局包变量并不是真正的全球性。每个会话都有自己的变量(即每个用户,如果用户多次登录,他/她在每个会话中都有单独的值)。

而且你不能自己产生线程。特别是在Unix上,Oracle并没有使用线程,据我所知。

如果你想使用真正的全局变量,看看一个CONTEXT对象。

+0

+1但我认为这里有一些关于“全局”的含义有些混淆 - 可能有其他定义,但在PL/SQL中它们是全局范围的(即它们可以在程序包中的任何位置引用),但不是(即它们不能在会话之外被引用)。 – 2010-09-28 05:46:50