- 博客(5)
- 资源 (8)
- 收藏
- 关注
原创 多线程处理大数据(4)
多线程或者并发程序,总是不经意间带着陷阱,今天发现程序还是好多改进的空间。 简直是一个程序引发的血案呐。 另外,volatile boolean 可以用AtomicBoolean替换。AtomicBoolean是原子性的,而volatile只有可见性。 package com.kong.trinet.util; import java.io.BufferedReader; import ja
2014-01-10 19:19:18 999
原创 多线程处理大数据(再续)
接前篇,前面的程序,是在自己的 mac 上跑的,几十万条数据速度还可以,但是今天用公司的电脑就变慢了。 同样是开启了四条线程处理,但是公司电脑明显不给力。观察了一下CPU,开启四条线程,基本上CPU占用率就跑满了,可能阻塞的时间远大于计算的时间,从而导致变慢。 于是,就写了个单线程的版本,明显快多了,大概不到1秒的样子。 【注意】 started = true ;一定不要忘记写,不然调用的时
2014-01-07 14:56:11 1092
原创 多线程读取大数据文件(续)
昨天的程序有点错误,重新粘一个, for循环终结括号括错了。 另外新加了个destroy()方法 package com.kong.trinet.util; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IO
2014-01-07 10:58:17 1212
原创 多线程读取大数据文件
工作之故,要读取一个几十万条的文本,就写了这个程序,倒腾了俩天,并不一定是最终版,姑且先记录下来。 1、本地读取以后改为网络读取 2、timer是为了作定时刷新 3、容器启动时,首先加载MobileUtil.init()方法 4、多核服务器,加载会更快,根据服务器内核切割获取的内容来组装map 5、基于线程安全考虑,HashMap可能改为ConcurrentHashMap import
2014-01-06 21:01:17 2718
原创 java并发编程设计
读完了Venkat Subramaniam的《java虚拟机并发编程》中文译本,对并发编程有了更进一步的认识。 这本书,名字读来让人有些误解,以为是讲java虚拟机的,其实内容讲的是在jvm上的几种编程模型。 这里权当作个笔记,梳理思路,回忆下书的大概内容。 熟悉java的童鞋知道,java是实体与状态绑定的。所以在处理共享状态时,要考虑线程安全问题。 虽然处理状态不可避免,但我们
2014-01-04 20:55:55 713
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人