Hello Thilo,

I am interested in your opinion about how this is done currently.
We say: "Share the model between threads and create one instance of the
component per thread".

Wouldn't that work well in your use case?

Jörn



On Wed, Jan 11, 2017 at 11:05 AM, Thilo Goetz <[email protected]> wrote:

> Hi,
>
> in a recent project, I was using SentenceDetectorME, TokenizerME and
> POSTaggerME. It turns out that none of those is thread safe. This is
> because the classification probabilities for the last tag() call (for
> example) are stored in a member variable and can be retrieved by a separate
> API call.
>
> I'm planning to build thread safe versions for myself, and I'd be happy to
> contribute a patch if there is interest. This could be done as a
> conservative extension with an additional method such as tagReentrant,
> where the old API calls would continue to work as before and would still
> not be thread safe. Alternatively, one could remodel the API so that
> everything was thread safe, but that would break backwards compatibility.
>
> Final question: if I do this for the classes mentioned above, are there
> other tools that should be made thread safe while we're at it?
>
> Opinions?
>
> --Thilo
>
>
>

Reply via email to