java
文章平均质量分 93
金阿阿阿登哦
uncomplicated~
展开
-
volatile 详解
一、volatile简介 在单线程环境中,我们几乎用不到这个关键词,但是多线程环境中,这个关键词随处可见。而且也是面试的常客。总的来说,volatile有以下三个特性: 保证可见性; 不保证原子性; 禁止指令重排。 下面就来详细的说说这三个特性。 二、保证可见性 1、什么是可见性? 在说volatile保证可见性之前,先来说说什么叫可见性。谈到可见性,又不得不说JMM(java mem...转载 2020-02-04 10:24:00 · 451 阅读 · 0 评论 -
实现java多线程的3种方式
1、继承Thread类 看jdk源码可以发现,Thread类其实是实现了Runnable接口的一个实例,继承Thread类后需要重写run方法并通过start方法启动线程。 继承Thread类耦合性太强了,因为java只能单继承,所以不利于扩展。 2、实现Runnable接口 通过实现Runnable接口并重写run方法,并把Runnable实例传给Thread对象,Thread的s...转载 2019-05-15 13:46:04 · 178 阅读 · 0 评论 -
学习java多线程概念
同步和异步的区别: 同步,Synchronous,即调用方法开始,一旦调用就必须等待方法执行完返回才能继续下面的操作。举个例子,你去银行ATM取钱,你必须等到ATM吐完钱你拿到钱取完卡你才能离开。 异步,Asynchronous,即不关心方法执行的过程,触发要调用的方法就继续执行下面的操作,不会像同步那样阻塞直要到方法完成才继续。 举个例子,你这次要取钱,数量较大,你直接电话或者APP预...原创 2019-05-15 13:48:58 · 148 阅读 · 0 评论