线程学习
文章平均质量分 75
oppoppoppo
这个作者很懒,什么都没留下…
展开
-
线程池知识总结
Executors作为线程池的框架 newFixThreadPool(10); newCacheThreadPool(); new Thread原创 2016-11-28 19:39:22 · 205 阅读 · 0 评论 -
使用Synchronzied和线程通信实现一个BlockingQueue
工作中接触到了线程池使用到了BlockingQueue,那么如何用基本的线程知识实现BlockingQueue呢 代码如下 package blockingQueue; import java.util.LinkedList; import java.util.concurrent.atomic.AtomicInteger; public class MyBlockingQueue {原创 2016-11-26 12:57:55 · 229 阅读 · 0 评论 -
使用CountDownLatch来重写BlockingQueue解决线程通信不及时问题
上文说到了使用wait/notify和synchronized同时使用时出现通信不及时的弊端,如下可以解决 代码如下: package blockingQueue; import java.util.LinkedList; import java.util.concurrent.CountDownLatch; import java.util.concurrent.atomic.Atomic原创 2016-11-26 13:41:01 · 794 阅读 · 0 评论 -
ThreadLocal变量学习
ThreadLocal即本地线程,被ThreadLocal修饰的变量会在每个线程的私有缓冲内复制一个完全相同的对象副本,从而避免了变量共享时候的线程安全问题 package thread.threadLocal; public class ThreadLocalVariableTest { private ThreadLocal local = new ThreadLocal();原创 2016-11-26 20:14:56 · 213 阅读 · 0 评论 -
再说说单例模式和多线程(静态内部类实现)
静态内部类: package thread.singleton; public class StaticInnerClassSingleton { private static class Singleton{ private static Singleton singleton = new Singleton(); } public Singleton getInstance(){原创 2016-11-26 20:20:14 · 793 阅读 · 0 评论 -
并发类容器
为了代替传统的同步类容器,java提供了多种的并发类容器。 一.ConcurrentMap接口 重要的两大实现类 1.ConcurrentHashMap 2.ConcurrentSkipListMap(支持并发排序功能弥补ConcurrentHashMap) ConcurrentHashMap实现的同步的原理:将HashMap分为了16个segment,每个segment实际上就是一个H原创 2016-11-26 21:47:57 · 423 阅读 · 0 评论 -
自己模拟实现Concurrent包下的Future模式
Future模式简介:在处理某些比较复杂的业务逻辑时,我们需要首先返回一个虚拟结果(即Future的含义),然后再Future中创建线程去执行其他的方法,如果这个虚拟的结果不会立即使用(比如在调用这个结果的某个方法前需要执行其他业务耗时操作),那么在执行真实结果的耗时会和其他业务耗时操作同时执行,从而节约了时间,这就是Future模式的出发点。 代码实现: package thread.fut原创 2016-11-27 23:03:38 · 206 阅读 · 0 评论