JAVA并行计算
andboby
当前在某世界五百强上市公司担任技术总监及其首席架构师,曾经供职于中兴通讯股份有限公司,担任系统架构师一职;曾经2011年~2017年供职金山软件,从事移动WPS的开发,是android版的WPS核心开发人员,欢迎各位一起学校交流!
展开
-
volatile、atomic、reentrantLock、synchronized区别详解
JAVA的内存模块,JAVA的内存模块特点,原子性、可见性、有序性。例如:int i = 0,是原子性操作,i++非原子性操作;有序性是指同一个线程中,程序的前面代码必须执行完毕之后才会执行后面代码;可见性是指,CPU拥有缓存,一般都是从内存中读取数据到CPU缓存,然后经过多次计算和处理的中间结果放在CPU缓存中,最后把结果写回内存,可见性就是为了放弃CPU缓存,所有结果都在内存,对所有线程都可...原创 2018-03-17 01:04:35 · 1401 阅读 · 0 评论 -
JAVA中的乐观锁和悲观锁
乐观锁:当处理数据的时候,乐观的认为处理数据过程不会发送多线程冲突,代表AtomicInteger 的CAS(Compare And Swape) ,就是处理数据的时候不会对本段处理过程进行加锁,当更新数据的时候再进行判定数据是否已经发送了冲突或许修改,如果已经冲突则返回失败信息交给用户处理。悲观锁:当处理数据的时候,会认为任何时候本处理都会受到多线程冲突影响,因此会加锁进行阻塞处理,例如JA...原创 2018-03-23 15:58:34 · 345 阅读 · 0 评论 -
JAVA多线程并行计算乐观锁之Atomic系列详解
从多线程并行计算乐观锁 和 悲观锁 来讲,JAVA中的 lock、synchronized 属于悲观锁,即是在操作某数据的时候总是会认为多线程之间会相互干扰,属于阻塞式的加锁;Atomic系列则属于乐观锁系列,即当操作某一段数据的时候,线程之间是不会相互影响,采用非阻塞的模式,直到更新数据的时候才会进行版本的判断是否值已经进行了修改。Atomic在JAVA中的家族如下: a、基本类:Atom...原创 2018-03-27 14:43:22 · 1298 阅读 · 0 评论 -
可重入锁ReentrantLock详解
https://www.cnblogs.com/zhengbin/p/6503412.html转载 2018-04-09 23:03:56 · 181 阅读 · 0 评论 -
AsyncTask原理详解!
在项目中子线程和UI线程交互过程中,经常会用到AsyncTask,AsyncTask使用场景有网络访问、上传文件等。AsyncTask的核心原理有以下几条,请配合后面详解来理解。 1、 AsyncTask主要使用的4个函数,onPreExecute、doInBackground、 onProgressUpdate、onPostExecute。 2、onPreExecute是在AsyncTa...原创 2017-09-05 18:00:14 · 1621 阅读 · 0 评论