gpt4 book ai didi

Java NIO : how to protect global data effectively?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:17:15 26 4
gpt4 key购买 nike

我们在每个连接线程模型和 NIO 模型(例如使用 Netty)中保护资源的方式有什么不同吗?例如,如果我们有一些全局对象,使它的方法线程安全的最明显的事情就是使它们syncronized

在使用基于 NIO 的通信时,我们是否应该使用相同的方法?据我了解,NIO 中的线程是比每个连接线程更有值(value)的资源。如果多个线程将被阻塞等待同步资源被释放,这是否会对处理与该资源无关的其他请求的性能产生任何影响?如果这是特定于实现的,那么事情是如何工作的 Netty具体是什么?

最佳答案

实现线程安全对于 NIO 和任何其他线程池都是一样的。 (除非只有一个线程;)

无论你有少量还是大量的线程(多为空闲)热点资源都会延迟你的处理。问题基本相同。

您处理任务而不是资源。热点资源可以延迟使用该资源的任务,但不会延迟不依赖该资源的任务。

关于Java NIO : how to protect global data effectively?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5474124/

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