请教高手threading.Thread相关问题

请教高手threading.Thread相关问题

今天遇到一个问题,不知道如何解决,请各位高手提点一下
问题描述
        当我在线程中调用包含wmi的调用时报错,原因不明,但是我需要在线程中调用wmi,不知如何解决

wmi下载
测试代码如下:
import threading
import wmi

class T(threading.Thread):
        def __init__(self):
                threading.Thread.__init__(self)
                self.wmic = wmi.WMI()       
        def        test3(self):
                x = self.wmic.Win32_LogicalDisk()
                for s in x:
                        print s.DeviceID
       
        def run(self):
                self.test3()
                       
def test1():
        x = T()
        x.start()
def        test2():
        wmic = wmi.WMI()
        for s in wmic.Win32_LogicalDisk():
                print s.DeviceID
               
test2()       
test1()

谢谢各位的关注,google后现在问题已经解决,但原因不是很清楚,请有兴趣的高手继续跟贴发表高见!
源参考地址
修改后的代码:
<CODE>
import threading
import pywmi
import pythoncom

wmic = pywmi.WMI()       


class T(threading.Thread):
        def __init__(self):
                threading.Thread.__init__(self)
        def        test3(self):
                pythoncom.CoInitialize ()
                self.wmic = pywmi.WMI()       
                x = self.wmic.Win32_LogicalDisk()
                for s in x:
                        print s.DeviceID
       
        def run(self):
                self.test3()
                       
def test1():
        x = T()
        x.start()
       
       
def        test2():
        wmic = pywmi.WMI()
        for s in wmic.Win32_LogicalDisk():
                print s.DeviceID
               
test2()       
test1()

</CODE>