Java并发编程入门 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

榨干计算机的性能

在服务器端程序和图像处理中,需要并发:与用户端不同,服务器端程序一般需要承受很重的用户访问压力,并发是唯一出路,对于复杂的业务,并发更容易模仿出我们的现实世界。

到了2004年的时候,摩尔定律在CPU的计算性能上已经失效了,CPU开始向多核发展。著名的计算机科学家唐纳德说:“在我看来,并发是因为硬件设计者基本无计可施了,他们讲摩尔定律失效的责任推脱给了软件开发者。”所以,并发就在一定程度上就是为了榨干计算机的性能,让计算机计算发挥到极致。

我们知道程序执行时有序的,比如我们计算1+1=2

public class Main{
    public static void main(String[] args){
        int a=1;
        int b=1;
        System.out.println(a+b);
    }
}

虽然我们表面上看到执行这个代码很简单,但是在计算机内部远不止这么简单的。那么我们首先从硬件的角度先了解一下计算机程序的执行,大致可以分为下面几步:

取指    IF
译码    ID
执行    EX
存储器访问    MEM
写回    WB
使用Java输出计算1+1=2