不等待类初始化的代码!

问题描述:

我有一段代码基本上是初始化几个类,但是它们是按顺序排列的,因为后面的代码会引用早期的代码。不等待类初始化的代码!

由于某种原因,最后一个在第一个之前初始化......在我看来,有某种线程正在进行。我需要知道的是我怎样才能阻止它做到这一点?

是否有某种方法可以使类init执行类似于发送返回值的操作?

或者我可以在某种if语句中使用该类来检查该类是否已被初始化?

我对Python有点新,并且正在从C中迁移,所以我仍然习惯于像命名约定这样的小差异。

+0

邮政编码,请。 “init发送返回值”表示一些潜在的概念问题。 – 2008-12-18 11:15:55

+0

你能给我们一些代码吗?如果我们不知道你在做什么,很难弄清楚你的问题。 另外,请尝试在您的构造函数中放置打印语句以查看实例化的顺序。 – Dan 2008-12-18 12:21:06

Python upto 3.0有一个全局锁,所以一切都在一个线程和顺序运行。

我的猜测是,一些副作用从一个不同的地方初始化最后一堂课,超出了你的预期。抛出最后一个类的__init__中的异常,以查看它被调用的位置。

+0

Py3k不会删除GIL AFAIK。 – muhuk 2008-12-18 10:49:07

Spaces vs. Tabs issue ...呃。 >。>

那么,至少现在它工作。我承认我错过了C语言的大括号,而不是强制缩进。尽管如此,它还是一个原型语言。当我更好地掌握它的时候,也许我会越来越喜欢它。