5

Jetty增加了 Loom 支持: Issue #8007

 2 years ago
source link: https://www.jdon.com/61880
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Jetty增加了 Loom 支持
Jetty提供了一个使用虚拟线程的处理器选项。 这能让Loom早期采用者进行测试。
详细点击标题

相关信息摘录:
之前产生了一个jetty的分支(
https://github.com/eclipse/jetty.project/tree/jetty-10.0.x-loom),我们认为
我们认为有一个很好的方法来整合Loom。    我们并没有用某种虚拟线程工厂取代
线程池,因为这仍然会让jetty在内部做大量的工作,认为一些线程不能阻塞
和避免流控制的线头阻塞等等。

相反,我们将Jetty的核心部分保持在内核线程上异步运行。但将任何被选中调用应用程序的任务标记为非阻塞,因为它们现在只是生成了一个虚拟线程并返回。  
其结果是,我们有一个内核线程池来做选择和其他高优先级的任务,但是当一个HTTP连接被选中时,选择器线程直接生成一个selector线程直接生成一个虚拟线程来进行读取。
解析处理和写入响应的虚拟线程--它可以自由地阻塞。
然后,selector线程返回到选择结果,但不会执行一个新的selector线程(如果该任务是直接阻塞的,它可能会这样做)。

我们认为这是一个合理的方法,并对1000个客户进行了测试,它比同等的异步应用有更好的延迟,但是CPU略高。  我们现在需要将其提升到10000或100000个客户端,但这需要几周的时间,如果能在我们目前的实验中得到反馈,那就更好了。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK