- 博客(8)
- 资源 (4)
- 收藏
- 关注
原创 架构之路--多线程的设计模式之Future模式
对于并发下Future不太了解的同学,完全可以将Future设计模式理解为ajax,两者思想是相同。 网络图片的下载,刚开始是通过模糊的图片来代替最后的图片,等下载图片的线程下载完图片后在替换。而在这个过程中可以做一些其他的事情。首先客户端向服务器请求RealSubject,但是这个资源的创建是非常耗时的,怎么办呢?这种情况下,首先返回Client一个FutureSubject,以满足
2017-04-20 14:57:18 459
原创 架构之路--多线程下的设计模式 Master worker并行计算模式
这里面有两个重要角色:Master 、 WorkerMaster 负责接收和分配任务 ; Worker 负责处理从master分配过来的子任务。如图:多个客户端发送请求,master处理器接收请求并分组处理,分发给多个worker线程去执行。下面通过一个小例子看一下:目录结构如下:Master类:import java.util.HashMap;im
2017-04-16 15:40:59 808
原创 架构之路--同步类容器和并发类容器
同步类容器 比较古老的如:Vector HashTable 不支持并发,实现原理就是给方法加锁synchronize并发类容器:1.
2017-04-15 17:19:04 269
转载 架构之路---对ThreadLocal的正确理解
首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的。各个线程中访问的是不同的对象。 另外,说ThreadLocal使得各线程能够保持各自独立的一个对象,并不是通过ThreadLocal.set()来实现的,而是通过每个线程中的new 对象 的操作
2017-04-15 17:17:45 322
原创 架构之路--volatile关键字和线程通信
如果想让变量在多个线程间可见,可以使用volatile关键字。线程间通信:wait 让当前线程等待 释放锁notify 唤醒其他线程 不释放锁使用wait/notify 模拟 Queue=============================================================================================
2017-04-15 17:08:57 333 1
转载 全文检索原理及实现方式
一、总论根据http://lucene.apache.org/java/docs/index.html 定义:"Apache Lucene(TM) is a high-performance, full-featured text search engine library written entirely in Java. It is a technology suitable
2017-04-12 14:03:49 21868 3
原创 架构师之路--线程基础--多个线程多把锁
多个线程的情况下,每个线程拿到自己的锁后,执行自己的代码段,线程之间互不干扰,下面看看会照成什么样的影响。代码如下:package action;public class Thread02 {private int num = 0;public synchronized void getNum(String tag){if(tag.equals("a")){
2017-04-11 18:45:38 209
原创 架构师之路--线程
线程安全概念:当多个线程访问同一个类时,这个类始终能保持正确的行为,那么这个类(对象或方法)就是线程安全的。synchronized:可以在任意对象或方法上加锁,加锁的这段代码被称为“互斥区”或“临界区”。package com.daniu56.thread;@SuppressWarnings("unused")public class Thread01 extends Threa
2017-04-10 20:31:30 259
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人