1

消息来源告诉我,Java XSLT 转换是“单线程”的,并且会“阻止”内核执行其他代码,直到转换完成。

但是,我在网络中找不到其他独立的来源来支持这一说法。

任何人都可以澄清这一点吗?

资料来源:

XSLT 通常是单线程的并且 100% 受 CPU 限制(包括内存总线)。如果需要 250 毫秒,这意味着它将每秒处理 8 页(2 个 CPU x(1 秒 *(1000 毫秒/秒)/250 毫秒))。如果思考时间为 10 秒,则该应用程序将支持少于 80 个并发用户(实际上可能是 60 个)

通过 theserverside.com 上的 Cameron Purdy

然后创建一个 Transformer 类的实例来执行实际的转换。与样式表本身不同,转换器不能被许多客户端共享并且不是线程安全的。

来自 O'REILLY Java 和 XSLT

newTransformer (...) 返回: 可用于在单个线程中执行转换的 Transformer 对象,从不为空。

来自 Java 6 API TransformerFactory

4

1 回答 1

0

如果没有迈克尔凯的帖子,我可以确定,但是......

否 - 不会阻止内核执行其他代码

这与 XSLT 无关。所有现代操作系统和 cpu 都实现了抢占式多线程。请参阅http://en.wikipedia.org/wiki/Thread_(computing)#Multithreading

这可以防止任何进程阻塞 CPU。

于 2012-05-07T19:27:01.790 回答