使用nltk.corpus多线程

问题描述 投票:0回答:1

我想在多线程环境中访问nltk.corpus.wordnet。一旦启用多线程,nltk.corpus.wordnet之类的方法就会失败。如果我禁用它,一切正常。

错误消息更改。例如,一个错误可能看起来像这样,对我来说这很像一个竞争条件:

synsets()

关于此还有其他问题:

第一个链接的问题的解决方案是在程序分支到各个线程之前加载语料库。我已经做到了:https://github.com/nltk/nltk/issues/1576在多线程之前被调用。

GitHub问题中的建议是在我的线程函数中导入wordnet。但这并没有任何改变。

python multithreading nltk wordnet
1个回答
0
投票

一种解决方法是为每个线程复制主体的深层副本。当然,这需要大量内存并且效率不是很高:

wordnet.ensure_loaded()
© www.soinside.com 2019 - 2024. All rights reserved.