我刚读到“服务器是如何处理多个请求的”,最后得到了java多线程和多核心cpu。
在计算机是单一内核的日子里,如果java中同时有两个线程,那么jvm调度程序将负责给每个线程分配时间。因此,两个线程从不并行运行,而是使用理想的时间(例如,如果某个线程在某个资源上被阻塞)。
但是,在java7中,这种情况是否适用于多核和叉/连接框架?我是说,我听说过,有了多个核,我们才能真正实现并行。因此,如果我有两个线程正在运行,两个核心cpu和每个线程被赋予一个单独的核心(虽然不能保证),那么它们实际上是否是并行的,因为jvm调度程序仍然会导致时间交织?
如果这个问题是愚蠢的,我很抱歉,但我真的不确定这个问题。请帮我理解!!
谢谢!乌尼
发布于 2015-03-07 15:04:31
问题是它仍然很难理解有多少线程,核心,.实际上是可用的。
我个人的建议:有几篇关于java专家时事通讯的文章,对这个主题做了一个非常深入的探讨。
例如,这个:http://www.javaspecialists.eu/archive/Issue135.html
或者一个非常新的,关于“可用处理器的数量”:http://www.javaspecialists.eu/archive/Issue220.html
https://stackoverflow.com/questions/28916080
复制相似问题