240 发简信
IP属地:北京
  • Resize,w 360,h 240
    java线程池源码分析

    从线程池使用进行实现分析一.自定义线程池1.自定义线程池2.构造完成之后状态3.关键参数介绍二.执行任务1.execute一个任务2.执行分析三...

  • ReentrantLock源码分析,顺便看看AbstractQueuedSynchronizer

    示例小demo 用起来很简单lock,unlock就可以了。当多个线程同时要获取这个锁时候到底发生了什么? 简单描述 在具体分析源码之前,先用语...

  • CountdownLacth CyclicBarrier Join

    CountdownLacth CyclicBarrier Join Join:main里面调用t1.join,阻塞main线程,直到t1线程结束...

  • ConcurrentHashmap 小结

    并发包concurrent包下的ConcurrentHashmap 1.8以前是通过内部分段的方式实现内部分段,最多分16段,允许16个线程同时...

  • ThreadPoolExecutor Demo示例

    1. 四种线程池创建方式,底层都是依赖ThreadPoolExecutor这个方法 2. ThreadPoolExecutor的重要参数 3. ...

  • 生产者消费者模型示例

    生产者消费者模型Main provider(生产者) Consumer(消费者) Data数据 log信息

  • voliate关键字及其示例

    voliate关键字 1 使变量在线程间可见 对于避免不可见性问题,Java还提供了一种弱形式的同步,即使用了volatile关键字。该关键字确...

  • 死锁示例

    死锁示例 由于两个锁对象lock1,lock2是static只存在一份,导致两个线程执行时会相互等待已经被获得的琐对象,导致死锁产生.如果将st...

  • 锁对象改变引发的线程问题

    Java多线程锁对象的改变 用lock获取锁对象,当lock被修改以后,会产生是一把新的锁,另一个线程获取锁对象时会获取这把新的锁,导致线程异步...