代码之家  ›  专栏  ›  技术社区  ›  simao

在线程对象内运行FeedParser时跟踪/BPT陷阱

  •  0
  • simao  · 技术社区  · 14 年前

    我正试图运行一个线程来使用通用提要解析器解析链接列表,但是当我启动该线程时,会得到一个trace/bpt陷阱。

    以下是我使用的代码:

    class parseRssFiles(Thread):
       def __init__ (self,rssLinks):
          Thread.__init__(self)
          self.rssLinks = rssLinks
       def run(self):
          self.rssContents = [ feedparser.parse(link) for link in rssLinks]
    

    还有别的办法吗?

    链接到Mac OS X 10.6.2生成的报告: http://simaom.com/trace.txt

    谢谢

    1 回复  |  直到 14 年前
        1
  •  1
  •   Ned Deily    14 年前

    如果没有一个有效的测试用例,很难确定,但我怀疑您遇到了 Python tracker issue 7144 也就是说,尝试初始化 CoreFoundation 主线程以外的框架。这个问题在python 2.6.5中得到了解决,您可以从python.org或macports安装它。10.6中由苹果提供的python 2.6.1的一个未经测试的解决方案可能是在主线程中执行一些无害的操作,这些操作将导致 核心基金会 在启动任何辅助线程之前初始化。在主线程中这样做可能会做到:

    import locale
    locale.getdefautlocale()