多线程并发编程
文章平均质量分 69
godbessinyou
这个作者很懒,什么都没留下…
展开
-
volatile关键字
package com.bjsxt.base.sync007;import java.util.concurrent.atomic.AtomicInteger;/** * volatile关键字不具备synchronized关键字的原子性(同步) * 可以使用AtomicInteger 替代普通变量或者用 synchronized修饰方法 * @author ali...原创 2018-04-09 11:21:24 · 80 阅读 · 0 评论 -
线程池——有限无限队列测试
package com.bjsxt.height.concurrent018;import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;import java.util.concurrent.ExecutorService;import java.util....原创 2018-04-17 14:58:09 · 454 阅读 · 0 评论 -
线程池拒绝策略
package com.bjsxt.height.concurrent018;import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.conc...原创 2018-04-17 15:20:20 · 175 阅读 · 0 评论 -
Java.util.Concurrent.CountDownLatch
package com.bjsxt.height.concurrent019;import java.util.concurrent.CountDownLatch;/** * CountDownLatch类位于java.util.concurrent包下,利用它可以实现类似计数器的功能。 * 比如有一个任务A, * 它要等待其他4个任务执行完毕之后才能执行,此时就可以...原创 2018-04-18 14:16:06 · 133 阅读 · 0 评论 -
Java.util.Concurrent.Futuer模式使用
package com.bjsxt.height.concurrent019;import java.util.concurrent.Callable;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Fut...原创 2018-04-18 15:23:48 · 117 阅读 · 0 评论 -
Java并发编程:CountDownLatch、CyclicBarrier和 Semaphore
路径:http://www.importnew.com/21889.html原创 2018-04-18 15:35:52 · 86 阅读 · 0 评论 -
Java.util.Concurrent.Semaphore 信号量
package com.bjsxt.height.concurrent019;import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Semaphore; /** * 可以控制系统的流量,拿到...原创 2018-04-18 16:16:28 · 123 阅读 · 0 评论 -
ReentrantLock()重入锁基本使用例子
package com.bjsxt.height.lock020;import java.util.concurrent.CopyOnWriteArrayList;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurr...原创 2018-04-19 16:09:13 · 383 阅读 · 0 评论 -
ReentrantLock() 多个Condition c1 = lock.newCondit()使用
package com.bjsxt.height.lock020;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class UseManyCon...原创 2018-04-19 16:25:46 · 304 阅读 · 0 评论 -
Executors.newScheduledThreadPool
package com.bjsxt.height.concurrent017;import java.util.concurrent.Executors;import java.util.concurrent.ExecutorService;import java.util.concurrent.ScheduledExecutorService;import java.uti...原创 2018-04-17 11:12:37 · 2850 阅读 · 0 评论 -
线程数学习一
多线程架构1 Executor方法:1 Executors.newFixedThreadPool(int);该方法返回固定线程数,线程数始终不变,当有一个任务提交时,若线程池中空闲,则立即执行,若没有,则会被暂缓在一个任务队列中等待有空闲执行提交。源码:ThreadPoolExecutor(nThreads(核心线程也就是初始化几个线程), nThread...原创 2018-04-17 11:08:17 · 149 阅读 · 0 评论 -
wait、notify 模拟queue
package com.bjsxt.base.queue;import java.util.LinkedList;import java.util.concurrent.atomic.AtomicInteger;public class Myqueue { private final LinkedList<Object> list = new Lin...原创 2018-04-10 17:09:28 · 90 阅读 · 0 评论 -
多线程的2种单例模式写法
package com.bjsxt.base.conn011;/** * 多线程单列 第一种写法,最简单。 * @author Administrator * */public class InnerSingleton { private static class Singletion { private static Singletion sing...原创 2018-04-11 15:27:45 · 214 阅读 · 0 评论 -
同步容器和并发容器1
package com.bjsxt.base.coll012;import java.util.ArrayList;import java.util.Collections;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;im...原创 2018-04-11 17:29:46 · 82 阅读 · 0 评论 -
并发容器
copyandwrite 容器CopyOnWriteArrayListCopyOnWriteArraySetCopyOnWriteArrayList和CopyOnWriteArraySet分别代替List和Set,主要是在遍历操作为主的情况下来代替同步的List和同步的Set,这也就是上面所述的思路:迭代过程要保证不出错,除了加锁,另外一种方法就是"克隆"容器对象。:适合读...原创 2018-04-12 10:22:43 · 76 阅读 · 0 评论 -
队列容器
package com.bjsxt.base.coll013;import java.util.concurrent.SynchronousQueue;/**ConcurrentLinkedQueue : 先进先出高并发队列。无锁、无阻塞。不允许null元素。先进在头,后进在尾。 方法 :add( )、 offer() 、Poll()从头部取出元素,并删除、...原创 2018-04-12 14:35:46 · 116 阅读 · 0 评论 -
DelayQueue队列
package com.bjsxt.base.coll013;import java.util.Iterator;import java.util.concurrent.DelayQueue;/** * @author Administrator *DelayQueue: 带有延迟时间的Queue,其中元素只有当指定时间到了,才能从队列中取该元素。 DelayQu...原创 2018-04-12 15:33:42 · 92 阅读 · 0 评论 -
Master/Worker 模式
package test;import java.util.Random;public class Main { public static void main(String[] args) { System.out.println("我的机器可用Processor数量:" + Runtime.getRuntime().availableProcessors());...原创 2018-04-16 16:06:14 · 262 阅读 · 0 评论 -
模拟MQ生产 消费
package com.bjsxt.height.design016;import java.util.concurrent.BlockingQueue;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Li...原创 2018-04-16 17:33:26 · 302 阅读 · 0 评论 -
读写锁列子
package com.bjsxt.height.lock021;import java.util.concurrent.locks.ReentrantReadWriteLock;import java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock;import java.util.concurrent.locks.R...原创 2018-04-19 16:46:21 · 93 阅读 · 0 评论