
并发编程
Cloud_N
这个作者很懒,什么都没留下…
展开
-
线程池+队列实现日志定时批量提交日志
最近有个需求需要记录用户操作记录,实现起来无非是用aop直接记录日志。用自定义注解,通过属性文件建立注解和具体操作的映射关系,然后用aop切入持有该注解的接口,记录操作信息。 这种在并发不高的系统上是可行的,一旦并发量略高,aop里的插入DB操作势必会影响接口响应时间,对性能影响还是有一些的。因此将其改为系统定时批量插入日志,模拟一个简单的mq,下面直接贴代码。具体实现全写在注释里了。//@原创 2017-10-16 15:52:07 · 2369 阅读 · 1 评论 -
jdk中的观察者模式和监听器模式
1.观察者模式如图,比较简单,直接看代码,Observer里有一个update方法,需要你手动实现当被观察者被修改时调用的业务逻辑。在调用update时可以传参进去。public interface Observer { /** * This method is called whenever the observed object is changed. An * a...原创 2018-07-15 20:49:57 · 2735 阅读 · 0 评论 -
ThreadLocal的意义与本质
threadlocal众所周知,可以把变量绑定到某一线程上,thread里有个全局变量threadlocalmap,范型为<ThreadLocal,Object>,threadlocal在执行set方法时先获取当前线程,拿到threadlocalmap,以以身为key把值放到map中,从而实现变量与线程的绑定。关于threadlocal的用法,有这样几种说法。1.传递上下文变量...原创 2018-06-10 11:33:40 · 2144 阅读 · 0 评论