Java NIO:如何有效保护全球数据?

时间:2011-03-29 14:26:24

标签: java multithreading thread-safety nio

我们在每个连接线程模型和NIO模型中保护资源的方式是否存在差异(例如,使用Netty)?例如,如果我们有一些全局对象,那么使它的方法线程安全最明显的就是使它们成为syncronized

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

1 个答案:

答案 0 :(得分:1)

对于NIO,实现线程安全与任何其他线程池相同。 (除非只有一个主题;)

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

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