mrb*_*lah 1 c# java synchronization
我刚刚学习Java,我发现Java文档/书籍非常强调同步.我已经阅读了很多c#docs/books,你只是没有看到那么多强调这个主题.
c#是否以不同方式处理锁定/同步,或者作为Web应用程序(应用程序池,iis,clr verus容器/ jvm/tomcat)执行不同的操作?
lock并且synchronized大致相同,虽然它们的实现方式有所不同 - 特别是在C#中锁定只是用于调用Monitor.Enter/Exit的语法糖,而在Java中则没有相应的库.
C#没有同步方法,尽管你可以使用它[MethodImpl(MethodImplOptions.Synchronized)]来达到同样的效果.(我认为存在一些微妙的差异,但它们大致相同.)我不建议在任何一种语言中使用它,但是 - 锁定私有锁.
.NET和Java中的另一个并发库支持更加分离 - Object.wait/notify/notifyAll和Monitor.Wait/Pulse/PulseAll的原语相似,但更高级别的支持是相当不同的.
内存模型略有不同 - 如果你没有尝试在没有锁定的情况下工作,它们就足够接近,但正确的无锁代码在.NET和Java中会有所不同.
不确定如何回答您的Web应用程序点...