什么是特定于流程的变量?

Seb*_* N. 6 multithreading smalltalk pharo

我试图加载一个显然是为早期版本的Pharo编写的软件包(Ratpack,从http://ss3.gemstone.com/ss/RatPack.html进入Pharo 1.4).

在那里,我得到了关于environmentAt:put:不被支持的弃用警告Project.

根据文档,要使用的方法是使用ProcessSpecificVariable.

我的问题是:

  • 这些是什么?
  • 我该如何使用它们?
  • 如何将"旧"(已弃用)代码移植到这个新系统?

谢谢!

Dav*_*jan 4

您可以在问题跟踪器中找到 PSS 的讨论

以下是 Igor 关于如何使用 ProcessSpecificVariables 的片段:

假设 MyProcessSpecificVar 是 ProcessSpecificVariable 的子类。

然后你可以这样做:

[ MyProcessSpecificVar value: foo. ] fork.

[ MyProcessSpecificVar value. ] fork.
Run Code Online (Sandbox Code Playgroud)

等等,即以与旧实现允许的方式相同的方式进行。

但是通过新的实现,您还可以使用它的实例,因此您不必为您可能想要使用的每个特定于流程的变量创建一个新类:

mykey := MyProcessSpecificVar new.


[ mykey value ] fork.
[ mykey value: 10 ] fork.
Run Code Online (Sandbox Code Playgroud)