您的位置 首页 java

读懂JAVA多线程,宜人贷:建议从多线程与各部分的关系入手

JAVA 最难学的部分是哪里?很多朋友都把java 多线程列为重点疑难对象 。随着业务量和数据的增加,企业不可避免地会使用 多线程 的方式处理数据。在 Java 职位的面试中,多线程也是必考的高阶知识点之一。可以说,java多线程是衡量一名 Java 程序员 是否资深的关键标准之一。

宜人贷 指出,进程是由一个或多个 线程 构成的。线程是进程中的实际运行单位,是独立运行于进程之中的子任务,是操作系统进行运算调度的最小单位。

宜人贷认为可这样理解:线程是进程中的一个最小运行单元。

首先来看多线程与计算机存储体系的关系:要想明白数据一致性问题,要先捋顺计算机存储结构,从本地磁盘到主存到 CPU缓存 ,也就是从硬盘到内存,到 CPU 。一般对应的程序操作就是从数据库查数据到内存然后到CPU进行计算。CPU多个核心和内存之间可以保证内部数据一致性和缓存一致性协议(MESI),MESI其实就是指令状态中的首字母。M(Modified)修改,E(Exclusive)独享、互斥,S(Shared)共享,I(Invalid)无效。

其次,我们看与JAVA内存模型的关系: Java虚拟机 规范中试图定义一种Java内存模型(java Memory Model)来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。内存模型是内存和线程之间的交互、规则。与编译器有关,与并发有关,与处理器有关。

多线程有关系的还有指令重排序,指令重排序也会造成在多线程访问下结束与预想不一样的情况,可在CPU执行指令的时候进行执行顺序的优化。

宜人贷认为,多线程与计算机存储体系、JAVA内存模型、指令重排序的关系其实不难理解,用户可通过以上几方面理解和运用,进而进行更便捷的系统操作。

文章来源:智云一二三科技

文章标题:读懂JAVA多线程,宜人贷:建议从多线程与各部分的关系入手

文章地址:https://www.zhihuclub.com/200128.shtml

关于作者: 智云科技

热门文章

网站地图