随笔分类 -  Thread

摘要:线程安全问题都是由全局变量及静态变量引起的。 若每个线程中对全局变量、静态变量只有读操作,而无写操作,一般来说,这个全局变量是线程安全的; 若有多个线程同时执行写操作,一般都需要考虑线程同步,否则就可能影响线程安全。 1) 常量始终是线程安全的,因为只存在读操作。 2)每次调用方法前都新建一个实例是 阅读全文
posted @ 2018-11-09 16:15 bcombetter 阅读(1012) 评论(0) 推荐(0) 编辑
摘要:Java并发编程的4个同步辅助类(CountDownLatch、CyclicBarrier、Semphore、Phaser) @https://www.cnblogs.com/lizhangyong/p/8906774.html 阅读全文
posted @ 2018-10-26 09:58 bcombetter 阅读(290) 评论(0) 推荐(0) 编辑
摘要:概念: 多线程在并发环境中的正常执行顺序是随机无序的,并不能按照期盼的结果输出。 因为启动一个线程时,线程并不会立即执行,而是等待CPU的资源调度,CPU能调度哪个线程,是通过多种复杂的算法计算而来。 (一)Thread的join()方法来解决这个问题 一般在多线程编程时,需要控制线程的先后执行顺序 阅读全文
posted @ 2018-06-15 13:49 bcombetter 阅读(1298) 评论(0) 推荐(0) 编辑
摘要:AtomicReference介绍 AtomicReference是作用是对"对象"进行原子操作。 AtomicReference源码分析(基于JDK1.7.0_40) 在JDK1.7.0_40中AtomicReference.java的源码如下: [java] view plain copy pu 阅读全文
posted @ 2018-05-28 14:08 bcombetter 阅读(368) 评论(0) 推荐(0) 编辑
摘要:简介: Future接口是Java多线程Future模式的实现,可以来进行异步计算。 可以使用isDone方法检查计算是否完成,或者使用get阻塞住调用线程,直到计算完成返回结果,也可以使用cancel方法停止任务的执行。 简单测试 - 主题 : Future模式可以理解成:我有一个任务,提交给了F 阅读全文
posted @ 2018-04-25 10:53 bcombetter 阅读(1157) 评论(0) 推荐(0) 编辑
摘要:介绍new Thread的弊端及Java四种线程池的使用,对Android同样适用。本文是基础篇,后面会分享下线程池一些高级功能。 1、new Thread的弊端执行一个异步任务你还只是如下new Thread吗? Java 1 2 3 4 5 6 7 new Thread(new Runnable 阅读全文
posted @ 2017-01-21 12:36 bcombetter 阅读(205) 评论(0) 推荐(0) 编辑
摘要:对于sleep()方法,我们首先要知道该方法是属于Thread类中的。而wait()方法,则是属于Object类中的。 sleep()方法导致了程序暂停执行指定的时间,让出cpu该其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。 在调用sleep()方法的过程中,线程不会 阅读全文
posted @ 2017-01-11 13:50 bcombetter 阅读(240) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示