jieba.NET icon indicating copy to clipboard operation
jieba.NET copied to clipboard

是否可以多线程调用?

Open marletto opened this issue 6 years ago • 4 comments

目前用单线程, 第一次调用 segmenter.Cut 的时候发现比较慢, 估计是懒初始化. 那么在第一次调用以后, 后面是不是就可以多线程调用了呢? 如果对词库等全局变量仅仅是只读, 那么理论上是可以支持多线程的

marletto avatar Sep 19 '18 03:09 marletto

@marletto 理论上是可以的,但之前没有测试过。

anderscui avatar Sep 19 '18 09:09 anderscui

@marletto 理论上是可以的,但之前没有测试过。

我使用的时候出现了个bug,也知道问题原因。 晚点给你单独提个issue,并和你讨论一下。

Nieg avatar Mar 01 '19 05:03 Nieg

@Nieg 当时的 bug 还记得是什么吗?

anderscui avatar Jan 25 '20 19:01 anderscui

使用发生状况有几个条件。。。 1.使用自定义词典,而且词典的量要足够大。 2.首次访问在极短时间内连续访问多次。 具体原因是:自定义词典初始化的时候,并未加锁。导致自定义词库Dictionary 多线程 Add 后,内部哈希表 链表结构死循环了。

Nieg avatar Apr 03 '20 03:04 Nieg