随笔分类 -  并发编程专题

摘要:原子操作 处理器自动保证基本内存操作的原子性,如对同一个缓存行里进行16/32/64位的操作是原子的。复杂的内存操作处理器不能自动保证其原子性,比如跨总线宽度,跨多个缓存行,跨页表的访问。 Atomic 在Atomic包里一共有12个类,四种原子更新方式,原子更新基本类型,原子更新数组,原子更新引用 阅读全文
posted @ 2020-04-06 18:49 qianbing12300 阅读(283) 评论(0) 推荐(0)
摘要:JUC编程Tools 包含五个工具类: Excutors、Semaphore、Exchanger、CyclicBarrier、CountDownLatch Semaphore 信号量的意思,控制访问特定资源的线程数目。 用于流量控制,限制最大的并发的并发访问数。公共资源池定义 X 个permit 共 阅读全文
posted @ 2020-03-29 23:51 qianbing12300 阅读(167) 评论(0) 推荐(0)
摘要:第一部分: synchronized 临界资源 在多线程并发过程中,有可能会出现多个线程同时出现访问同一个共享,可变资源的情况。这个资源可能是变量、文件、对象等。 共享:资源可以由多个线程同时访问 可变:资源可以在其生命周期内修改 引发的问题: 由于线程的过程是不可控的,所以需要采用同步机制来对协同 阅读全文
posted @ 2020-03-28 18:03 qianbing12300 阅读(1778) 评论(0) 推荐(1)
摘要:CPU内部结构划分控制单元运算单元存储单元 计算机多硬件多CPU结构: CPU缓存一致性原则 JMM同步八种操作介绍:(1)lock(锁定):作用于主内存的变量,把一个变量标记为一条线程独占状态 (2)unlock(解锁):作用于主内存的变量,把一个处于锁定状态的变量释放出来,释放后的 变量才可以被 阅读全文
posted @ 2020-03-27 15:35 qianbing12300 阅读(1357) 评论(0) 推荐(0)