
集合框架库
文章平均质量分 70
泽灯
这个作者很懒,什么都没留下…
展开
-
volatile关键字
volatile关键字 volatile原理 被volatile关键字修饰的变量,编译器与运行时都会注意到这个变量是共享的,因此不会将该变量上的操作与其他内存操作一起重排序。volatile变量不会被缓存在寄存器或者对其他处理器不可见的地方,因此在读取volatile类型的变量时总会返回最新写入的值。 详情可见 对volatile关键字的理解 被volatile修饰的共享变量,就具有了以下两点特性: 1.保证了不同线程对该变量操作的内存可见性; 2.禁止指令重排序 什么是内存可见性,什么是重排序 从Java原创 2021-02-24 15:57:11 · 188 阅读 · 0 评论 -
synchronized关键字
synchronized关键字 Synchronized是Java多线程编程中最常用的关键字。 所有的Java 对象都有自己唯一的隐式同步锁。该锁只能同时被一个线程获得,其他试图获得该锁的线程都会被阻塞在对象的等待队列中直到获得该锁的线程释放锁才能继续工作。 Synchronized关键字通常有两种用法。 当Synchronized关键字用于类方法定义中时,表示所有调用该方法的线程都必须获得当前对象的锁。这种方式比较简单,但是同步的粒度比较大,当一个线程要执行某个对象的同步方法的时候,必须同时没有任何其他线转载 2021-02-24 15:36:54 · 552 阅读 · 0 评论 -
线程基础
线程基础部分 1,线程和进程的概念 什么是进程 进程是资源(CPU、内存等)分配的基本单位,它是程序执行时的一个实例。 程序运行时系统就会创建一个进程,并为它分配资源,然后把该进程放入进程就绪队列 进程调度器选中它的时候就会为它分配CPU时间,程序开始真正运行。 什么是线程 线程是程序执行时的最小单位,它是进程的一个执行流,是CPU调度和分派的基本单位。 一个进程可以由很多个线程组成,线程间共享进程的所有资源,每个线程有自己的堆栈和局部变量。 线程由CPU独立调度执行,在多CPU环境下就允许多个线程同时运原创 2021-02-23 13:25:45 · 201 阅读 · 0 评论