gpt4 book ai didi

java - Exchanger 如何支持无 GC Java?

转载 作者:太空宇宙 更新时间:2023-11-04 07:27:14 24 4
gpt4 key购买 nike

在阅读java并发api时,我开始了解Exchanger类。

来自 Java 文档,

“线程可以在对内配对和交换元素的同步点。每个线程在交换方法的入口处呈现一些对象,与伙伴线程匹配,并在返回时接收其伙伴的对象。交换器可以被视为 SynchronousQueue 的双向形式。交换器在 应用程序中可能很有用,例如遗传算法和管道设计。

我探索并找到了以下链接 The Exchanger & GC-less Java

它说,

"The Exchanger class is useful for passing data back and forth between two threads. e.g. Producer/Consumer. It has the property of naturally recycling the data structures used to pass the work and supports GC-less sharing of work in an efficient manner."

它如何支持“无GC工作共享”

最佳答案

从字面上看,它不受支持,它只是设计了您可以通过正确使用它来利用的方式。正如您所说,好处将是无 GC 共享工作。实际上,它只是一种避免垃圾创建的编程技术,例如临时对象、交换对象等。exchange 方法将始终返回您正在交换的对象。因此,不需要运行 GC,因为您可以重用旧对象进行下一次交换。在其他情况下,如果您不重用返回的对象,它就不可能仍然是无GC

关于java - Exchanger 如何支持无 GC Java?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18359570/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com