ANTLR (v3.2) 生成的 Java 解析器线程安全吗?
例如,在 servlet 请求处理程序中,我可以重用相同的解析器实例来解析请求正文吗?请求可能来自不同的线程,因此必须以线程安全的方式进行解析。如果实例是线程安全的,我可以在每个请求中重用相同的实例;否则我必须汇集它们或创建新实例。ANTLRv3 FAQ没有提及线程安全。
关于这个有一个古老的(2000)jGuru 问题,以及那里的答案,
通常,这个问题实际上是在问,“我可以创建同一个解析器的多个实例并同时解析多个输入流吗?”
做出错误的假设。
由于 ANTLR FAQ 中没有提到它,我假设解析器不是线程安全的。