Java并发
橙色闪光
正在学习中
展开
-
Java并发中原子操作的实现
处理器实现原子操作如果多个处理器同时对共享变量进行读改写(i++就是经典的读改写操作)操作,那么共享变量就会被多个处理器同时进行操作,这样读改写操作就不是原子的,所以要保证操作是原子性,则必须保证同一时刻只有一个处理器访问共享变量的内存地址。使用总线锁定保证原子性。处理器在总线上输出一个LOCK#信号,那么其他处理器的请求将被阻塞,此时该处理器就可以独占共享内存,从而保证只有一个处理器操作共享内存转载 2016-11-25 20:11:57 · 886 阅读 · 0 评论 -
Java中synchronized的实现原理与应用
Java中的每一个对象都可以作为锁,而在Synchronized实现同步的几种方式中分别为:普通同步方法:锁是当前实例对象静态同步方法:锁是当前类的Class对象同步方法块:锁是Synchronized括号里配置的对象任何一个对象都一个Monitor与之关联,当且一个Monitor被持有后,它将处于锁定状态。Synchronized在JVM里的实现都是基于进入和退出Monitor对象来实现方原创 2016-11-24 21:13:46 · 31360 阅读 · 11 评论 -
Java并发理论基础
概念线程安全性:多个线程访问同一对象时,(主调程序不做同步措施),该对象也能表现出正确的行为无状态的对象一定是线程安全的无状态的对象引入一个线程安全的状态时,依然是线程安全的Java多线程内存模型JMM规定了jvm有主内存(Main Memory)和工作内存(Working Memory) ,主内存存放程序中所有的类实例、静态数据等变量,是多个线程共享的,而工作内存存放的是该线程从主内存中拷贝原创 2017-02-22 21:02:23 · 405 阅读 · 0 评论 -
Java并发工具总结
线程池线程池的实现原理线程池饱和策略任务执行模型Executor框架提供Future接口,实现异步计算提供几种不同的ThreadPool,各种线程池的适用场景以及底层实现基本使用方法 线程同步CountDownLatch一个线程或多个线程等待其他线程完成操作计数值不可重置(一次性)主线程await等待,其他线程countDown,主从协同一个线程调用CountDown方法Hap原创 2017-02-25 20:39:05 · 366 阅读 · 0 评论