多线程
gcc_front
兜兜转转,工作之余,把学得的东西共享下
展开
-
java多线程初探(三)并发容器
这里记录一些并发容器的概念。一、ConcurrentHashMapConcurrentHashMap(CHM)是在java1.5作为Hashtale的代替选择新引入的。java1.5前在多线程和并发环境下使用Map只能选择Hashtable或者synchronizedMap(HashMap不是线程安全的所以不能使用)。java1.5后可以使用ConcurrentHashMap,它大量的利用了vol...原创 2018-03-30 14:11:05 · 905 阅读 · 0 评论 -
java多线程初探(二)构建线程安全类
上一篇记录了多线程的简单使用,这里接着记录。一、可见性可见性:读操作和写操作在两个线程时,不能保证读操作可以实时的看到其他线程写入的值,如果能保证则说拥有可见性保证可见性方法:1,当一个共享变量被volatile修饰时,它会保证修改的值会立即被更新到主存,当有其他线程需要读取时,它会去内存中读取新值(而不是高速缓存中)。2,通过synchronized和Lock也能够保证可见性,synchroni...原创 2018-03-30 11:00:29 · 157 阅读 · 0 评论 -
java多线程初探(四)取消和关闭
任务启动很容易,一般会让它们运行直到结束,但有时需要提前结束,或快速关闭,java没有直接提供任何机制来安全终止线程,而是补偿性提供了中断(Interruption),这是一种协作机制。取消场景:用户请求取消;有时间限制的操作;应用程序事件(如分解并搜索,其中一个任务搜索得到结果后,其它任务提前结束);错误(例如,爬虫时硬盘装满)协作机制示例,设置“已请求取消”标志package gcc.thre...原创 2018-04-09 17:08:46 · 487 阅读 · 0 评论 -
java多线程初探(一)构建线程安全类
这里先记录一些基础概念和说明一、构建线程安全类方式如果多个线程访问同一个可变的状态变量时,没有使用合适的同步,那就会出现不可预知的错误,修复方式如下:1、不在线程之间共性这个变量(线程封闭)2、将变量修改为不可变(final)3、在访问变量时使用同步(同步代码块)二、无状态对象无状态对象一定是线程安全的,无状态对象定义如下:/** * 有状态bean:包含实例变量对象,如这里的user */...原创 2018-03-29 14:21:57 · 191 阅读 · 0 评论 -
java多线程初探(零)线程间通信
测试类:package gcc.twoThreadTransData.waitAndNotify;/** * 通过wait和notify来实现多线程间的通信,这样可以避免一直轮询的消耗 * wait和notify需要在同步代码块内调用 * 对正在wait的线程执行interrupt(),会报异常,同时释放锁 * * 1,代码执行到wait,等待执行,并释放锁 * 2,noti...原创 2018-08-03 16:53:44 · 171 阅读 · 0 评论 -
java多线程初探(零)生产者消费者模式-线程通信
测试类package gcc.twoThreadTransData.producerAndConsumer;import org.slf4j.Logger;import org.slf4j.LoggerFactory;/** * 多个线程之间通信 * 消费者生产者模式 * 多个生产者和消费者 * 流程: * 多个线程(生产者,消费者)公用一把锁 * 本例设置了两个生产者...原创 2018-08-03 17:17:48 · 148 阅读 · 0 评论 -
java多线程初探(零)使用Lock-线程间通信
测试类package gcc.thread.Lock.condition;/** * 类似wait和notify,ReentrantLock使用Condition来控制等待和唤醒机制,并且可以根据分组唤醒指定的线程,选择性通知 * 如下,线程aa和ab在等待时所属不同的Condition,通过condition_A只唤醒了aa的等待 */public class Test {...原创 2018-08-03 17:39:32 · 178 阅读 · 0 评论 -
java多线程初探(零)基础demo
package gcc.thread.test;import org.junit.Test;import org.slf4j.Logger;import org.slf4j.LoggerFactory;/** * 一个进程至少一个线程,如main方法的线程由jvm来创建,取名也叫main(线程) * 此demo主要介绍Thread类的方法 */public class Dem...原创 2018-08-02 18:55:54 · 278 阅读 · 0 评论