随笔分类 -  JAVA并发

Java多线程学习开发笔记
摘要:线程有有序性和可见性 多个线程之间是不能直接传递数据交互的,它们之间的交互只能通过共享变量来实现。 在多个线程之间共享类的一个对象,这个对象是被创建在主内存(堆内存)中,每个线程都有自己的工作内存(线程栈),工作内存存储了主内存对象的一个副本,当线程操作对象时,首先从主内存复制对象到工作内存中,然后 阅读全文
posted @ 2017-12-10 16:26 啊哈咧 阅读(188) 评论(0) 推荐(0)
CountDownLatch、CyclicBarrier和 Semaphore
摘要:CountDownLatch、CyclicBarrier和 Semaphore比较 1)CountDownLatch和CyclicBarrier都能够实现线程之间的等待,只不过它们侧重点不同: CountDownLatch一般用于某个线程A等待若干个其他线程执行完任务之后,它才执行; 而Cyclic 阅读全文
posted @ 2017-09-03 11:32 啊哈咧 阅读(238) 评论(0) 推荐(0)
Fork/Join-Java并行计算框架
摘要:Java在JDK7之后加入了并行计算的框架Fork/Join,可以解决我们系统中大数据计算的性能问题。Fork/Join采用的是分治法,Fork是将一个大任务拆分成若干个子任务,子任务分别去计算,而Join是获取到子任务的计算结果,然后合并,这个是递归的过程。子任务被分配到不同的核上执行时,效率最高 阅读全文
posted @ 2017-09-02 23:30 啊哈咧 阅读(653) 评论(0) 推荐(0)
Lock和Condition
摘要:锁对象Lock Lock 实现提供了比使用synchronized 方法和语句可获得的更广泛的锁定操作,它能以更优雅的方式处理线程同步问题: public class LockTest { publicstaticvoid main(String[] args) { final Outputter1 阅读全文
posted @ 2017-09-02 23:25 啊哈咧 阅读(398) 评论(0) 推荐(0)
Java 多线程的一些问题
摘要:1、volatile关键字的作用 一个非常重要的问题,是每个学习、应用多线程的Java程序员都必须掌握的。理解volatile关键字的作用的前提是要理解Java内存模型,volatile关键字的作用主要有两个: (1)多线程主要围绕可见性和原子性两个特性而展开,使用volatile关键字修饰的变量, 阅读全文
posted @ 2017-09-02 16:01 啊哈咧 阅读(227) 评论(0) 推荐(0)