tomcat源碼為什么不采用netty處理并發(fā)?
網友解答: 因為servlet規(guī)范,tomcat要實現servlet規(guī)范所以不能最大發(fā)揮NIO的特性,servlet3.0之前完全是同步阻塞模型,在read http body 以及 r
因為servlet規(guī)范,tomcat要實現servlet規(guī)范所以不能最大發(fā)揮NIO的特性,servlet3.0之前完全是同步阻塞模型,在read http body 以及 response的情況下,即使tomcat選擇 NIO的 connector也是模擬阻塞的行為,因為servlet規(guī)范規(guī)定的就是這樣。
netty不用遵循servlet規(guī)范,可以最大化發(fā)揮NIO的特性,性能更高一些。但對于多數業(yè)務來講tomcat的connector已經足夠了。
希望上面的回答對你有所幫助,如果還是不懂或者有問題,可以關注今日酷米“小熊社長”酷米號,私信我。希望能夠對樓主有所幫助。如果喜歡請轉發(fā)。
網友解答:tomcat用的是Apache的MINA網絡庫,可以說是第一代Java網絡庫,并且也支持NIO了。既然都有了這些庫了,功能也不差,為什么不繼續(xù)開發(fā)MINA的功能,反而自廢武功,去換成Netty呢?