不等待类初始化的代码!
问题描述:
我有一段代码基本上是初始化几个类,但是它们是按顺序排列的,因为后面的代码会引用早期的代码。不等待类初始化的代码!
由于某种原因,最后一个在第一个之前初始化......在我看来,有某种线程正在进行。我需要知道的是我怎样才能阻止它做到这一点?
是否有某种方法可以使类init执行类似于发送返回值的操作?
或者我可以在某种if语句中使用该类来检查该类是否已被初始化?
我对Python有点新,并且正在从C中迁移,所以我仍然习惯于像命名约定这样的小差异。
答
Python upto 3.0有一个全局锁,所以一切都在一个线程和顺序运行。
我的猜测是,一些副作用从一个不同的地方初始化最后一堂课,超出了你的预期。抛出最后一个类的__init__
中的异常,以查看它被调用的位置。
+0
Py3k不会删除GIL AFAIK。 – muhuk 2008-12-18 10:49:07
答
Spaces vs. Tabs issue ...呃。 >。>
那么,至少现在它工作。我承认我错过了C语言的大括号,而不是强制缩进。尽管如此,它还是一个原型语言。当我更好地掌握它的时候,也许我会越来越喜欢它。
邮政编码,请。 “init发送返回值”表示一些潜在的概念问题。 – 2008-12-18 11:15:55
你能给我们一些代码吗?如果我们不知道你在做什么,很难弄清楚你的问题。 另外,请尝试在您的构造函数中放置打印语句以查看实例化的顺序。 – Dan 2008-12-18 12:21:06